从JSON数组中的JSON数组获取数据

大卫

我正在尝试从JSON数组中的JSON数组获取数据,但收效甚微。

因此,我们的服务器在名为“ msg”的变量中返回了一个JSON数组,当我进行console.log记录时,它看起来像这样

[{"product":"[{\"imgUrl\":\"/p/332401\",\"prodCartQty\":2,\"prodName\":\"Test Product 1",\"productCode\":\"332401\"},{\"imgUrl\":\"/p/332388\",\"prodCartQty\":2,\"prodName\":\"Test Product 2",\"productCode\":\"332388\"}]","category":"gross_MAX_1","totalCategory":1},{"product":"[{\"imgUrl\":\"/p/332401\",\"prodCartQty\":2,\"prodName\":\"Test Product 1",\"productCode\":\"332401\"},{\"imgUrl\":\"/p/332388\",\"prodCartQty\":2,\"prodName\":\"Test Product 2",\"productCode\":\"332388\"}]","category":"gross_MAX_1","totalCategory":1}]

然后,我使用以下代码提取产品名称,但始终收到未定义的错误-未捕获的TypeError:无法读取未定义的属性'prodName'

console.log(msg);
var data = $.parseJSON(msg);
console.log(data);

OBJ = {};
OBJ.apply = function(data) {
    $.each(data, function() {
        $.each(this, function(key, value) {
            console.log(value.product.prodName);
        });
    });
};
OBJ.apply(data);

任何想法,我要去哪里错了?

谢谢

编辑

我查看了解析的变量,然后得到:

[Object, Object]
0: Object
category: "restrictedItems_ie-standard-gross_MAX_1"
product: "[{"imgUrl":"/p/332401","prodCartQty":2,"prodName":"Test Product 1","productCode":"332401"},{"imgUrl":"/p/332388","prodCartQty":2,"prodName":"Test Product 2","productCode":"332388"}]"
totalCategory: 1
__proto__: Object
1: Object
category: "restrictedItems_ie-standard-gross_MAX_1"
product: "[{"imgUrl":"/p/332401","prodCartQty":2,"prodName":"Test Product 1","productCode":"332401"},{"imgUrl":"/p/332388","prodCartQty":2,"prodName":"Test Product 2","productCode":"332388"}]"
totalCategory: 1
__proto__: Object
length: 2
__proto__: Array[0]

因此,数据可以很好地解析,但是现在我需要返回产品中的数据或将产品中的对象数据放入单独的对象中。有任何想法吗?谢谢

普伦贡

尝试这个。我必须通过转义每个结尾的引号来修复无效的JSON

\"Test Product 1" <<<<
\"Test Product 2" <<<<

var data = [
    {
        "product": "[{\"imgUrl\":\"/p/332401\",\"prodCartQty\":2,\"prodName\":\"Test Product 1\",\"productCode\":\"332401\"},{\"imgUrl\":\"/p/332388\",\"prodCartQty\":2,\"prodName\":\"Test Product 2\",\"productCode\":\"332388\"}]",
        "category": "gross_MAX_1",
        "totalCategory": 1
    },
    {
        "product": "[{\"imgUrl\":\"/p/332401\",\"prodCartQty\":2,\"prodName\":\"Test Product 1\",\"productCode\":\"332401\"},{\"imgUrl\":\"/p/332388\",\"prodCartQty\":2,\"prodName\":\"Test Product 2\",\"productCode\":\"332388\"}]",
        "category": "gross_MAX_1",
        "totalCategory": 1
    }
]



$.each(data,function(_,productArr) {
  var arr = JSON.parse(productArr.product.replace(/\//g,""));
  $.each(arr,function(_,productDetails) {
    // here is a product detail object
    $.each(productDetails,function(name,value) {
      console.log(name,value);
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从数组中的数组获取JSON数据

来自分类Dev

从Json数组Android Java中的Json数组获取数据

来自分类Dev

从php中的json数组获取数据

来自分类Dev

从数组内的Json数据中获取价值

来自分类Dev

从 JSON 数组中获取数据部分

来自分类Dev

如何从 JSON 数组中获取数据

来自分类Dev

制作从 JSON 中获取的数据数组

来自分类Dev

JSON 从多维数组中获取数据

来自分类Dev

Swift:从 JSON 编码的数据中获取数组

来自分类Dev

从Json中获取数组?

来自分类Dev

从具有子数组的json子数组中获取数据

来自分类Dev

获取Postgres NOSQL json数据中json数组的总和

来自分类Dev

使用数组 Json 获取关于数组的数据

来自分类Dev

从JSON中的数组数组中获取元素

来自分类Dev

使用Swift从JSON数据中的数组获取数据

来自分类Dev

PHP:从JSON文件中通过键从数组中获取子数组数据的子数组

来自分类Dev

如何从php中的json数组中获取数据

来自分类Dev

如何在javascript中以json格式从数组中获取数据

来自分类Dev

如何从C#中的Json数组中获取数据?

来自分类Dev

在javascript中从多个json数组中获取数据

来自分类Dev

从Android中的JSON获取数组

来自分类Dev

在JSON PHP中获取数组

来自分类Dev

在php中获取json数组

来自分类Dev

如何从数组中数组中的JSON数组中获取元素

来自分类Dev

将数据数组放入JSON数组中

来自分类Dev

AngularJS:从具有ID的json数组中获取数据

来自分类Dev

在Flutter中获取pHp数组或映射为JSON数据?

来自分类Dev

使用php从json中的嵌套数组获取数据

来自分类Dev

如何通过ID获取json数组中的数据?