嵌套的JSON对象 [英] Nested JSON object

查看:91
本文介绍了嵌套的JSON对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对这个JSON对象非常陌生.所以我需要你们的一些帮助.我必须创建一个JSON对象,并且该对象有两个孩子.一个孩子有几个孩子.如果我的问题令人困惑,请参考下图.它类似于嵌套列表. 例子:

PRODUCT_LIST

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>

我尝试这样做,但是出现JavaScript错误.任何人都可以帮助为上述图表创建JSON. 注意:一个类别具有多个产品详细信息.这意味着PRODUCT_ID,PRODUCT_NAME和UNIT_COST将针对特定的CATEGORY_ID重复多次.

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.

我尝试过的JavaScript代码

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"}' +
                            ']' + 
                        '}' + 
                    '}' + 
                ']' + 
            '}';

推荐答案

使用HTML树,您将获得PRODUCT_LIST的后续JSON表示形式:

Using the HTML tree, you will get the followin JSON representation for the PRODUCT_LIST:

[
   {
      "CATEGORY_ID":"A",
      "PRODUCT_DETAILS":[
         {
            "PRODUCT_ID":"A.1",
            "PRODUCT_NAME":"AAAA1111",
            "UNIT_COST":0.1
         }
      ]
   },
   {
      "CATEGORY_ID":"B",
      "PRODUCT_DETAILS":[
         {
            "PRODUCT_ID":"B.1",
            "PRODUCT_NAME":"BBBBB1111",
            "UNIT_COST":0.2
         }
      ]
   }
]


但是,您的JavaScript会生成几乎有效的JSON string ,该字符串已分配给product变量.您可以在其上使用 JSON.parse() ,但这太复杂了.由于 JavaScriptObjectNotation 是Java语言


However, your JavaScript produces a nearly valid JSON string, which is assigned to the product variable. You could use JSON.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.

在JSON中,类别对象周围的括号过多.您可以检查例如与 http://jsonformatter.curiousconcept.com/.更正的脚本:

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:

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"
            }
         ]
      }
   ]
}

这篇关于嵌套的JSON对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆