To Parse Custom JSON data is to split out its name/value pairs into a more readable useable format.
Excel is a powerful tool that allows you to connect to JSON data and read it. However sometimes this data might require a little manipulation to be fully understood and analysed in Excel.
In this article you will learn
- What is JSON Data
- To Connect to JSON data from Excel
- How to Parse simple JSON Data using Excels Power Query
- To Parse complex JSON Data using Excels Power Query
This article contains data tables to download so you can practice along and master the art of parsing custom JSON data using Excel. We are also powered with STEEM so you can earn while you learn . If you are not familiar with Excel Power Tools you can find out about them here.
What is JSON Data?
JSON data is a way of representing objects or arrays. It is easy to read, and it is easy to parse, even with Excel. Many API calls will return JSON format and many web apps use JSON which easily moves information around the internet.
The syntax for JSON comes from JavaScript and can be summarized as follows:
- Data is shown in name/value pairs separated by : For example “name” : ”paulag”
- Data is separated by commas. For Example “name” : ”paulag” , “Sex” : “Female”
- Curly brackets represent an object. An object being a name/value pair separated by a comma. For Example {“name” : ”paulag” , “Sex” : “Female”}
- Square brackets hold arrays and contains a list of values separated by a comma.
Look at the sample JSON in the image below
{“total_population”: This shows the first object, which is a name/value pair. The name of the object is total_population
[{“date”: “2019-01-02”, “population”: 7638335801}, {“date”: “2019-01-03”, “population”: 7638557789}]} This is the value for the total population. The [ represents an array. This array contains two objects. The objects are defined within the curly brackets and separated with a comma. Each object contains 2 lots of data (name/value pair) also separated with a comma. The data, shown in the name/value pairs, in this example is date and population.
Here is one you can look at yourself. https://api.coinmarketcap.com/v1/ticker/bitcoin/
If you enter this to your browser, you will get something like the below:
Let’s take a look at that image in more detail.
Connecting to JSON data from Excel
In Excels Data ribbon, under GET and Transform Data, we have the option of connecting to data of multiple sources and multiple types.
If we select Get data from file, we will then have the option to get data from a JSON file.
In this example we have URL API endpoint https://api.coinmarketcap.com/v1/ticker/bitcoin/. Therefore, from the Data Ribbon we can select, Get data from Web. This will open a dialogue box in which you place the URL.
Next, Power query will then open. Power query is a magic excel tool that will allow you transform data that you connect to into a usable format.
The JSON data will appear as a list of records Power Query. For excel to read this, we must convert a list to a table. Select ‘to table’ from the available option.
Next, Power query will create a table and you will see this step appear on the right of the power query window under applied steps.
This new table contains a record. We must expand this record to get the value pairs. As this record only has 1 row, we would expect this to expand across the columns. To do this, right click on the arrows in the column header.
This will reveal the names of the value pairs. By selecting ok a new column will be set up in the table. The name will be in the header and the value in the row.
Further transformations
If we wanted this data going down the row, we could Unpivot the columns. By selecting the id column. Then from the Transform ribbon select the dropdown for unpivot columns and select unpivot other columns.
When working with Power Query, it’s important to make sure you have the correct data types set. To work with this data, we must now move to from Power Query to Excel. If we select File, and then select Close and load, this will load the data as a table in Excel. Or, if we select or Close and Load to, the data will be loaded into a Power Pivot Model.
How to Parse JSON Data in Excel
Very often when you access JSON data with Excel it appears in 1 column. This can happen for many reasons and is often the design of a database.
Look at the image below. We can see the json_metadata field is still in its JSON syntax
When we encounter data like this, we can easily parse the column into its components. From the image below we see we have 4 components. We have An Array, an Object, the data, and one of the data fields contains an array.
STEP by STEP
Download this file. It contains a table as shown below. (do not copy and paste the table as the JSON field will not be recognised.)
tx_id |
tid |
json_metadata |
timestamp |
647524676 |
follow |
[“follow”,{“follower”:”mervin-gil”,”following”:”jarvie”,”what”:[“blog”]}] |
43466.89097 |
647524682 |
follow |
[“follow”,{“follower”:”steliosfan”,”following”:”michealb”,”what”:[“blog”]}] |
43466.89097 |
647524833 |
follow |
[“follow”,{“follower”:”eugenezh”,”following”:”zentricbau”,”what”:[“blog”]}] |
43466.89097 |
647524855 |
follow |
[“follow”,{“follower”:”bitcoinportugal”,”following”:”manuellevi”,”what”:[]}] |
43466.89097 |
647525074 |
follow |
[“follow”,{“follower”:”eugenezh”,”following”:”adriellute”,”what”:[“blog”]}] |
43466.89167 |
647525089 |
follow |
[“follow”,{“follower”:”bigbigtoe”,”following”:”hoxly”,”what”:[“blog”]}] |
43466.89167 |
647525121 |
follow |
[“follow”,{“follower”:”mervin-gil”,”following”:”loveon”,”what”:[“blog”]}] |
43466.89167 |
647525159 |
follow |
[“follow”,{“follower”:”mervin-gil”,”following”:”pechichemena”,”what”:[“blog”]}] |
43466.89167 |
647525233 |
follow |
[“follow”,{“follower”:”imealien”,”following”:”pataty69″,”what”:[“blog”]}] |
43466.89167 |
647525652 |
follow |
[“follow”,{“follower”:”mervin-gil”,”following”:”kamile”,”what”:[“blog”]}] |
43466.89236 |
647525818 |
follow |
[“follow”,{“follower”:”bitcoinportugal”,”following”:”drmake”,”what”:[“blog”]}] |
43466.89236 |
647525886 |
follow |
[“follow”,{“follower”:”mervin-gil”,”following”:”bradfordtennyson”,”what”:[“blog”]}] |
43466.89236 |
647525980 |
follow |
[“follow”,{“follower”:”a0i”,”following”:”shoemanchu”,”what”:[“blog”]}] |
43466.89236 |
647526007 |
follow |
[“follow”,{“follower”:”voteme”,”following”:”kostyantin”,”what”:[“blog”]}] |
43466.89236 |
648215552 |
follow |
[“follow”,{“follower”:”ansie”,”following”:”hoxly”,”what”:[“blog”]}] |
43467.75833 |
648215582 |
follow |
[“follow”,{“follower”:”ashokcan143″,”following”:”abcor”,”what”:[]}] |
43467.75833 |
648215691 |
follow |
[“follow”,{“follower”:”ashokcan143″,”following”:”abasinkanga”,”what”:[]}] |
43467.75903 |
648215820 |
follow |
[“follow”,{“follower”:”nongvo.piy”,”following”:”acidyo”,”what”:[]}] |
43467.75903 |
648215859 |
follow |
[“follow”,{“follower”:”grid9games”,”following”:”yeninsfer”,”what”:[“blog”]}] |
43467.75903 |
648215945 |
follow |
[“follow”,{“follower”:”nongvo.piy”,”following”:”acidyo”,”what”:[“blog”]}] |
43467.75903 |
Click on any of the cells that contain the data and from the Data Ribbon select FROM Table/Range
If your data is not in table format, Excel will then prompt you to create a table. Select the cells the contain the data and tick the box to say that your table has headers.
Power Query editor window will open. On the canvas you can see your data and, on the right, you can see any transformation steps that have taken place.
To parse the json column, first select the column, then on the Transform Ribbon select Parse and select JSON
Power query will recognise the first [ and create a list format. Next, we need to expand this list to new rows. To do this click on the arrows on the top of the column and select Expand to New Rows.
What is returned is two lines for each tx-id. The json column now has a row for the name of the array, which is follow, and a record. The record will contain the data.
As we do not need the name of the array, we can use the filter to remove all the follow rows
We are now left with the records. We can expand this record, by pressing the arrow on the column. From here we see we have the names of 3 data fields, Follower, Following and What
When we select OK, we get a new column in our data table for each data field.
However, the field named what contains an array, which is again shown as a list (or array) which needs to be expanded
Once we expand this, we are at the end of the JSON data and have extracted the relevant columns. You can now use this data for further analysis in Excel or Power Pivot. To load it back to excel, select File and Close & Load.
More complex JSON data extractions in Excel
So far, we have looked at getting JSON data into Power Query using an Excel table and directly from a URL. There are other ways you can connect to JSON data including connecting directly to a JSON file. Connecting is the easy part. Things get more complicated when you have JSON columns where the strings are different in each row. One might start with an array and so return a list, but some might start with an object and return a record.
In Power Query lists are expanded to new rows in the table and records are expanded to new columns. Parsing custom JSON data in Excel can require some thinking.
Bookmark this app
Press Ctrl + D to add this page to your favorites or Esc to cancel the action.
Send the download link to
Send us your feedback
Oops! An error has occurred.
Invalid file, please ensure that uploading correct file
Error has been reported successfully.
You have successfully reported the error, You will get the notification email when error is fixed.
Click this link to visit the forums.
Immediately delete the uploaded & processed files.
Are you sure to delete the files?
Enter Url
JSON (Javascript Object Notation) is the most used data exchange format nowadays. Microsoft Excel doesn’t have built-in support for importing JSON to excel or exporting excel data to JSON.
VBA-JSON is an excellent library for parsing JSON in VBA. Lets see how to handle JSON in Excel VBA. If you’re new to JSON then read JSON tutorial for beginners
Prerequisites
- Save your excel file as Macro-Enabled workbook (Refer screen shot below)
- Enable macros if they are not already enabled. You can enable it by cliking on file > options > Trust Center > Trust Center Settings > Enable all macros
Getting Started
- Download VBA JSON latest version from here
- Extract it, open VBA code editor in excel (Alt + F11) and import the library as shown in the gif below.
- Add a reference to Microsoft scripting runtime. (Tools > references > select)
-
Add a reference to MSXML (Tools > references)
Select appropriate version based on your PC :
1. Microsoft XML, v 3.0.
2. Microsoft XML, v 4.0 (if you have installed MSXML 4.0 separately).
3. Microsoft XML, v 5.0 (if you have installed Office 2003 – 2007 which provides MSXML 5.0 for Microsoft Office Applications).
4. Microsoft XML, v 6.0 for latest versions of MS Office.
Import JSON to Excel
This library provides a simple method ParseJson
to parse JSON string into a dictionary object which can be used to extract data. Let’s see an example.
I’m using fake data from http://jsonplaceholder.typicode.com/ which is an API service with fake Json data.
We’ll be pulling user data from http://jsonplaceholder.typicode.com/users by making a GET request which responds with Json data.
Read more about GET requests in VBA here
Next, we’ll parse that Json and import it to excel. Code for importing data looks like this :
Public Sub exceljson() Dim http As Object, JSON As Object, i As Integer Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", "http://jsonplaceholder.typicode.com/users", False http.Send Set JSON = ParseJson(http.responseText) i = 2 For Each Item In JSON Sheets(1).Cells(i, 1).Value = Item("id") Sheets(1).Cells(i, 2).Value = Item("name") Sheets(1).Cells(i, 3).Value = Item("username") Sheets(1).Cells(i, 4).Value = Item("email") Sheets(1).Cells(i, 5).Value = Item("address")("city") Sheets(1).Cells(i, 6).Value = Item("phone") Sheets(1).Cells(i, 7).Value = Item("website") Sheets(1).Cells(i, 8).Value = Item("company")("name") i = i + 1 Next MsgBox ("complete") End Sub
Code explanation
- First, define JSON as an object and make a GET request to JSON API
- JSON data received in the response is parsed by passing it into
ParseJson
method. - parsed data is converted into a collection of dictionaries.
- Loop through the collection to get each user’s details and set its values to the first sheet.
Running above code looks like gif below.
Reading JSON from a file
In the same example above, If you want to read JSON data from a local file then you can use FileSystemObject
to read all text in the file and then pass it to ParseJson
method.
Dim FSO As New FileSystemObject Dim JsonTS As TextStream Set JsonTS = FSO.OpenTextFile("example.json", ForReading) JsonText = JsonTS.ReadAll JsonTS.Close Set JSON = ParseJson(JsonText)
Export Excel to Json
VBA-JSON provides another method ConvertToJson
which can be used to convert excel data into JSON. Here’s an example.
Sample data with Name, Phone and Email is present in second sheet. Let’s convert it into JSON
Code for this looks like :
Public Sub exceltojson() Dim rng As Range, items As New Collection, myitem As New Dictionary, i As Integer, cell As Variant set rng = Range("A2:A3") 'Set rng = Range(Sheets(2).Range("A2"), Sheets(2).Range("A2").End(xlDown)) use this for dynamic range i = 0 For Each cell In rng Debug.Print (cell.Value) myitem("name") = cell.Value myitem("email") = cell.Offset(0, 1).Value myitem("phone") = cell.Offset(0, 2).Value items.Add myitem Set myitem = Nothing i = i + 1 Next Sheets(2).Range("A4").Value = ConvertToJson(items, Whitespace:=2) End Sub
Code Explanation
- First, define
rng
as range and set it to data range. ConvertToJson
method takes a dictionary collection or array as parameter. So we should pass our data as a collection.- A Dictionary is an object with keys and values just like JSON but doesn’t support multiple items like arrays or collections, so we create a dictionary for each item and push it into an array or a collection.
- Define a dictionary and a collection, loop through the range and set each row’s data into
myitem
- Push
myitem
into collection and set it to nothing, because we are using the same dictionary to add next row’s data and push it to collection again.
Finally pass items
collection to ConvertToJson
method which returns a JSON string.
Running above code looks like gif below
Export Excel to JSON file
In the same example above, If you want to export excel data to JSON file then It can be done by opening a file for output by specifying the path of the file and printing data in it. Sample code below, Running this would save a JSON file in the current workbook’s folder.
Public Sub exceltojsonfile() Dim rng As Range, items As New Collection, myitem As New Dictionary, i As Integer, cell As Variant, myfile As String Set rng = Range("A2:A3") 'Set rng = Range(Sheets(2).Range("A2"), Sheets(2).Range("A2").End(xlDown)) use this for dynamic range i = 0 For Each cell In rng Debug.Print (cell.Value) myitem("name") = cell.Value myitem("email") = cell.Offset(0, 1).Value myitem("phone") = cell.Offset(0, 2).Value items.Add myitem Set myitem = Nothing i = i + 1 Next myfile = Application.ActiveWorkbook.Path & "data.json" Open myfile For Output As #1 Print #1, ConvertToJson(items, Whitespace:=2) Close #1 End Sub
Export Excel to Nested JSON
Above code can be modified a bit to get a nested JSON as output. Just add dictionary in another dictionary so that it creates a nested JSON. code looks like this :
Public Sub exceltonestedjson() Dim rng As Range, items As New Collection, myitem As New Dictionary, subitem As New Dictionary, i As Integer, cell As Variant Set rng = Range("A2:A3") 'Set rng = Range(Sheets(2).Range("A2"), Sheets(2).Range("A2").End(xlDown)) use this for dynamic range i = 0 For Each cell In rng Debug.Print (cell.Value) myitem("name") = cell.Value myitem("email") = cell.Offset(0, 1).Value myitem("phone") = cell.Offset(0, 2).Value subitem("country") = cell.Offset(0, 3).Value myitem.Add "location", subitem items.Add myitem Set myitem = Nothing Set subitem = Nothing i = i + 1 Next Sheets(2).Range("A4").Value = ConvertToJson(items, Whitespace:=2) End Sub
Running above code looks like image below
Using array of strings and objects in JSON
One of our readers asked me how to use an array of strings and objects inside the JSON.
Here’s how to do it:
Public Sub exceltojson() Dim rng As Range, items As New Collection, myitem As New Dictionary, i As Integer, cell As Variant, objectContainer As New Dictionary, arrayContainer As New Collection Dim j As Integer 'Set rng = Range("A2:A3") Set rng = Range(Sheets(1).Range("A2"), Sheets(1).Range("A2").End(xlDown)) 'use this for dynamic range i = 0 For Each cell In rng myitem("id") = cell.Value myitem("name") = cell.Offset(0, 1).Value 'tags tagsString = cell.Offset(0, 2).Value tagsCollection = getCollectionFromString(tagsString) myitem.Add "tags", tagsCollection 'ingredients ingredientsString = cell.Offset(0, 3).Value weightsString = cell.Offset(0, 4).Value ingredientsUnit = cell.Offset(0, 5).Value ingredientsCollection = getCollectionFromString(ingredientsString) weightsCollection = getCollectionFromString(weightsString) j = 0 For Each ingredient In ingredientsCollection objectContainer("ingredientnaam") = ingredient objectContainer("eenheid") = ingredientsUnit objectContainer("hoeveelheid") = weightsCollection(j) arrayContainer.Add objectContainer Set objectContainer = Nothing j = j + 1 Next myitem.Add "ingredienten", arrayContainer 'Reset values Set arrayContainer = Nothing j = 0 items.Add myitem Set myitem = Nothing i = i + 1 Next Sheets(1).Range("A6").Value = ConvertToJson(items, Whitespace:=2) End Sub Function getCollectionFromString(val) getCollectionFromString = Split(val, ", ") End Function
Running above code looks like image below
Wrapping up
Read official documentation of VBA-JSON here and use VBA-Dictionary for Mac Support.
Related articles :
- Complete JSON tutorial here – JSON for beginners
- Handling CSV in VBA
If you have any questions or feedback, comment below and please use CodingisLove Bin for sharing your code.
- Author
- Recent Posts
A CA- by education, self taught coder by passion, loves to explore new technologies and believes in learn by doing.
Assuming you really mean easiest and are not necessarily looking for a way to do this programmatically, you can do this:
-
Add, if not already there, a row of «column Musicians» to the spreadsheet. That is, if you have data in columns such as:
Rory Gallagher Guitar Gerry McAvoy Bass Rod de'Ath Drums Lou Martin Keyboards Donkey Kong Sioux Self-Appointed Semi-official Stomper
Note: you might want to add «Musician» and «Instrument» in row 0 (you might have to insert a row there)
-
Save the file as a CSV file.
-
Copy the contents of the CSV file to the clipboard
-
Go to http://www.convertcsv.com/csv-to-json.htm
-
Verify that the «First row is column names» checkbox is checked
-
Paste the CSV data into the content area
-
Mash the «Convert CSV to JSON» button
With the data shown above, you will now have:
[ { "MUSICIAN":"Rory Gallagher", "INSTRUMENT":"Guitar" }, { "MUSICIAN":"Gerry McAvoy", "INSTRUMENT":"Bass" }, { "MUSICIAN":"Rod D'Ath", "INSTRUMENT":"Drums" }, { "MUSICIAN":"Lou Martin", "INSTRUMENT":"Keyboards" } { "MUSICIAN":"Donkey Kong Sioux", "INSTRUMENT":"Self-Appointed Semi-Official Stomper" } ]
With this simple/minimalistic data, it’s probably not required, but with large sets of data, it can save you time and headache in the proverbial long run by checking this data for aberrations and abnormalcy.
-
Go here: http://jsonlint.com/
-
Paste the JSON into the content area
-
Pres the «Validate» button.
If the JSON is good, you will see a «Valid JSON» remark in the Results section below; if not, it will tell you where the problem[s] lie so that you can fix it/them.
The users have different requirements, e.g., convert the excel data to JSON format. It needs to do the mapping of Excel worksheet columns to object keys. An Excel to JSON converter helps to convert the .xls file data to .JSON file format.
These Excel files can contain text, charts, graphs, formatting, functions, and more data.
There is no predefined method in Excel to convert the Excel data to JSON. You can either use online Excel to JSON conversion software or download an add-in from the Microsoft store for this task to get done.
Why Excel to JSON?
Excel files are heavy weighted files that may contain text, charts, graphs, formatting, functions, and more data.
While the JSON files are light-weighted text-based documents. It stores the data in a simple data structure. Hence, JSON files can be opened on any text software like Notepad or Wordpad.
There are several tools available to convert the Excel data to JSON.
- Altova MapForce
- White Town XLS to JSON Converter
- Oxygen JSON Editor
- WTSolution Excel to JSON Converter
Here, we will brief about these tools with their download links.
Tip: WTSolution Excel to JSON Converter is also known as Excel to JSON add-in. Microsoft offers this tool.
For the last tool — Excel to JSON, we will also show you the steps to download and use this software.
Altova MapForce
Altova MapForce is a data mapping and conversion tool as well. It is a useful software to convert various sets of data. Using this tool, you can convert the Excel data to JSON, XML to JSON, and vice versa.
IMAGE
Additionally, this tool also allows the users to convert the JSON to CSV, EDI, Google protocol buffer, and more. This tool is easy to use as it provides a drag and drop interface. It also supports advanced data processing.
Altova MapForce is not free software but comes with 30 days of a free trial. Download the Altova MapForce tool from the following link.
White Town xls to JSON converter
This software is an xls to JSON converter. As the name implies, it allows the users to convert the Excel data into JSON format. However, it only allows the Excel data to be changed into JSON format. This software supports both formats (.xls and .xlsx formats) of Excel.
IMAGE
One of the biggest advantages of using this software, it is free of cost. Although you can also buy the personal or business license of it. It is very easy to use that is why it is very popular, mostly for those who transfer their data online.
You can download the White Town xls to JSON converter tool from the following link.
Oxygen JSON Editor
Oxygen JSON Editor is software used to convert the Excel file data to JSON format by mapping the Excel columns to JSON object key. This software is complex software than the other ones we have described above.
As Oxygen JSON Editor is a complex software, it has complex features too. Complex features, such as — structure validation, indent, format, and content completion. Additionally, this software also allows us to convert the XML document to JSON format.
IMAGE
Oxygen JSON Editor works differently than the other Excel to JSON converters. It uses XSLT stylesheet template for the conversion. Most professionals prefer this software to convert their data. It is a paid software whose personal, business, and academic versions are available on its official website.
Check out its official site to download the Oxygen JSON Editor.
WTSolution Excel to JSON converter
This one is the last Excel to JSON converter of this chapter by using which one can perform Excel to JSON conversion on their data. It is a simple application for this task to perform. This software supports two types of conversions on Excel data: Row and Nested.
You have also listened its name as Excel to JSON add-in. Microsoft offers this add-in named Excel to JSON that helps the users to convert their Excel data into JSON format. Now, let’s know something about Excel to JSON add-in and also see the downloading steps for it.
Excel to JSON add-in
Excel to JSON is an add-in offered by Microsoft to convert the Excel sheet data to JSON format. When the data is converted to the JSON format, Excel sheet columns are changed to object keys in JSON. It costs no charge from the user to download and use it.
You can download this add-in from the Office store.
Requirement
Excel to JSON add-in will work only on Excel 2013 or higher versions. Hence, your Excel version must be 2013 or higher.
Limitation
This add-in has a limitation.
It can convert the selected Excel data to JSON format.
Currently, two types of conversions are supported by this add-in.
- Row
- Nested
Row conversion
In row type conversion, the first row is treated as header, and rest of the rows are interpreted as data.
Nested conversion
In nested type conversion, you can define a JSON schema. This add-in will do the conversion accordingly, the schema you have provided.
Download add-in
Excel to JSON add-in is available in Office store; you can download it from there. For step by steps learning, follow this chapter below —
Step 1: Download the Excel to JSON add-in from the following link.
Step 2: A webpage of the Office store will open, where click on the Get it now button.
Step 3: Before start downloading, it will ask you to log in to your Microsoft account with valid credentials.
If you do not have a Microsoft account, signup for free to create new account.
Step 4: When you login to your Microsoft account. It will ask for some basic information required by this app before download. Here, provide these details and click the Continue button.
Tip: The fields that are marked with * sign are required fields and others are optional.
Step 5: Now, click the Open in Excel button here.
If you don’t have any MS Excel 2013 or above version downloaded in your system, you can go for office online. By clicking on this link.
We have clicked on the Open in Excel.
Step 6: On this popup, leave the checkbox unmarked and click on Open Excel here.
Step 7: Your Excel will be opened on your system, but it requires an internet connection. If it is not available, you may get this type of warning error.
Step 8: When you click on OK, it will show you one more panel that shows you some reason why this error can occur. This error can be because of the following reasons.
So, connect your system with the internet and close the currently opened Excel workbook.
Step 9: Follow Step 5 and step 6 again, where click on the Open the Excel button.
This time your system is connected to the internet. So, it will not show any error and interruption while installing the add-in.
Step 10: An interface on the Excel file will open like this with Excel to JSON add-in. Now, add this add-in to your Excel tab by clicking on Trust this add-in button present on the right panel.
Step 11: Excel to JSON add-in is successfully added to the Excel ribbon as a tab in the end. See here —
Step 12: Your Excel to JSON add-in is ready to launch. It is available inside the Excel-to-JSON tab by the name Launch Excel-to-JSON button.
Note: The Excel file, which is currently opened, is read-only that contains a few instructions about this tool. Hence, open the targeted file first, which you want to convert Excel to JSON.
Step 13: Prepare a new Excel sheet or open that one whose data you want to change in format. We have opened an existing file of person details and click on the Launch Excel-to-JSON button.
Step 14: Once you click on it, you may get this error. Ignore it and click OK to move forward.
Tip: While using this add-in to convert your data, your system must be connected to the internet. Otherwise, you may face problems.
Step 15: Now, select at least first two row’s data or all where first one is considered as header and the other as data. Then click on GO in the right panel.
Step 16: You will see that the selected data is converted into JSON format and available below the Go button.
Step 17: Copy this data from here, paste this JSON data into a file and save it. Hence, click on the Copy to clipboard button here.
Step 18: JSON data is successfully copied to the clipboard.
Step 19: Now, paste this copied clipboard data to a Word file and save it. The copied data will look like as shown below —
Excel to JSON using VBA code editor
Besides using all these tools, you can use the in-built feature of Excel (VBA code editor) to convert the Excel data to JSON format. Make a code for it and execute the code; it will do the mapping of Excel columns to JSON object keys and convert the data into JSON.
If you are comfortable in doing coding, then it’s a good way for you. Thus, you do not need to explicitly download the above discussed tools to convert your Excel data to JSON format. While you can do it without downloading any software on your system using Excel VBA code Editor.
Tip: Your Excel data must have column names because the first row is always considered as a header.
VBA Code
Following is the complete code for the conversion of the Excel file data to JSON format. Copy this following code and paste this to your respective VBA code editor.
In this VBA code, we have defined a function named ExcelToJSON that will later be used in an Excel file for converting Excel data to JSON format. Let’s see how it will execute.
Syntax
Now, go back to the Excel file and write the following ROUND() formula in an Excel cell where you want to place the converted JSON result. For example,
=ExcelToJSON(A1:F3)
Currently, we are converting the first two Excel rows data into JSON format only.
Press the Enter key and get the result and see that the data is successfully converted into JSON form. Similarly, you can use this function for more conversion.
For the detailed description of this code, see our next tutorial, where we have explained this code and variables created and used in it.