I am very much new to this JSON objects. So I need some helps from you guys. I have to create a JSON object and that object has two children. One child has some children. If my question is confusing just refer the following diagram. It is similar to nested lists.
Example:
PRODUCT_LIST
<ul>
<li>CATEGORY_ID - A</li>
<li>PRODUCT_DETAILS
<ul>
<li>PRODUCT_ID - A.1</li>
<li>PRODUCT_NAME - AAAA1111</li>
<li>UNIT_COST - 0.1</li>
</ul>
</li>
<li>CATEGORY_ID - B</li>
<li>PRODUCT_DETAILS
<ul>
<li>PRODUCT_ID - B.1</li>
<li>PRODUCT_NAME - BBBBB1111</li>
<li>UNIT_COST - 0.2</li>
</ul>
</li>
</ul>
I tried to do but got JavaScript errors. Can any one please help to create JSON for the above mentioned diagram.
Note: One Category has more than one product details. It means PRODUCT_ID, PRODUCT_NAME and UNIT_COST will be repeating to more than one time for a particular CATEGORY_ID.
The JavaScript code I have tried
var product = '{"products_list":' +
'[' +
'{' +
'{"category_id":"A"},' +
'{"product_details":' +
'[' +
'{"product_id":"A.1","product_name":"AAAA1111", "unit_cost":"A1"},' +
'{"product_id":"A.2","product_name":"AAAA2222", "unit_cost":"A2"},' +
'{"product_id":"A.3","product_name":"AAAA3333", "unit_cost":"A3"},' +
'{"product_id":"A.4","product_name":"AAAA4444", "unit_cost":"A4"},' +
'{"product_id":"A.5","product_name":"AAAA5555", "unit_cost":"A5"},' +
'{"product_id":"A.6","product_name":"AAAA6666", "unit_cost":"A6"},' +
'{"product_id":"A.7","product_name":"AAAA7777", "unit_cost":"A7"},' +
'{"product_id":"A.8","product_name":"AAAA8888", "unit_cost":"A8"},' +
'{"product_id":"A.9","product_name":"AAAA9999", "unit_cost":"A9"},' +
'{"product_id":"A.0","product_name":"AAAA0000", "unit_cost":"A0"}' +
']' +
'}' +
'},' +
'{' +
'{"category_id":"A"},' +
'{"product_details":' +
'[' +
'{"product_id":"A.1","product_name":"AAAA1111", "unit_cost":"A1"},' +
'{"product_id":"A.2","product_name":"AAAA2222", "unit_cost":"A2"},' +
'{"product_id":"A.3","product_name":"AAAA3333", "unit_cost":"A3"},' +
'{"product_id":"A.4","product_name":"AAAA4444", "unit_cost":"A4"},' +
'{"product_id":"A.5","product_name":"AAAA5555", "unit_cost":"A5"},' +
'{"product_id":"A.6","product_name":"AAAA6666", "unit_cost":"A6"},' +
'{"product_id":"A.7","product_name":"AAAA7777", "unit_cost":"A7"},' +
'{"product_id":"A.8","product_name":"AAAA8888", "unit_cost":"A8"},' +
'{"product_id":"A.9","product_name":"AAAA9999", "unit_cost":"A9"},' +
'{"product_id":"A.0","product_name":"AAAA0000", "unit_cost":"A0"}' +
']' +
'}' +
'}' +
']' +
'}';
Using the HTML tree, you will get the followin JSON representation for the PRODUCT_LIST:
However, your JavaScript produces a nearly valid JSON string, which is assigned to the
productvariable. You could useJSON.parse()on it, but that’s too complicated. As the JavaScriptObjectNotation is a subset of the Javascript object literal syntax, you should directly assign the object.In your JSON, you have some braces too much around the category objects. You can check that e.g. with http://jsonformatter.curiousconcept.com/. Corrected script: