这里,当我使用Ajax时,我的示例SON返回:

{
    "$id": "1",
    "$values": [
        {
            "$id": "2",
            "productId": 4,
            "productName": "DIOR",
            "categoryId": 3,
            "price": 400000,
            "description": null,
            "brand": 6,
            "brandNavigation": {
                "$id": "3",
                "brandId": 6,
                "brandName": "Dior",
                "products": {
                    "$id": "4",
                    "$values": []
                }
            },
            "category": {
                "$id": "5",
                "categoryId": 3,
                "categoryName": "HighHeels",
                "products": {
                    "$id": "6",
                    "$values": []
                }
            },
            "productItems": {
                "$id": "7",
                "$values": [
                    {
                        "$id": "8",
                        "productItemsId": 20,
                        "productId": 4,
                        "colorId": 1,
                        "image1": "0b07f121-dc27-4a9a-a79e-f440e0cf40ac_1.jpg",
                        "image2": "2ca4fa4f-27ba-43e5-8314-dff2cf16d59d_2.jpg",
                        "image3": "3ba8eb5d-e4a1-4277-b2f7-9a84861d6ceb_3.jpg",
                        "image4": "b7582534-e523-422f-875b-336a5200ea1f_4.jpg",
                        "color": null,
                        "product": null,
                        "productVariations": {
                            "$id": "9",
                            "$values": []
                        }
                    },
                    {
                        "$id": "10",
                        "productItemsId": 21,
                        "productId": 4,
                        "colorId": 3,
                        "image1": "965dfc4f-5748-4d6b-9e2f-f31fd175a485_23.jpg",
                        "image2": "732149b5-f0d1-48dd-9887-ffdea3d623a6_24.jpg",
                        "image3": "9be06dc9-d697-418d-a144-533e266d5fc7_21.jpg",
                        "image4": "08feffba-3a95-423d-be69-e36c1b050171_22.jpg",
                        "color": null,
                        "product": null,
                        "productVariations": {
                            "$id": "11",
                            "$values": []
                        }
                    }
                ]
            }
        },
 }

当我try 访问json中的导航产品项时我的代码:

$.each(productlist["$values"], function (index, item) {
                newproductrow += '<div class="col-md-4 col-xs-6">';
                newproductrow += '<div class="product">';
                newproductrow += '<div class="product-img">';
                newproductrow += '<img src="~/Contents/img/' + item.productItems["$values"].image1 + '" width="200" height="200" alt="">';

但它的错误未定义.逻辑工作正常,但我不知道访问它的正确语法.我使用chat GPT和copilot,但仍然不起作用.有人知道正确的方法吗?.谢谢

推荐答案

在提供的数据中item.productItems["$values"]还包含一个数组,而不是单个项,因此您需要相应地处理它,例如使用第一个数组elemnt:

newproductrow += '<img src="~/Contents/img/'
   + item.productItems["$values"][0].image1
   + '" width="200" height="200" alt="">';

或者您也可以使用$.each.

Javascript相关问答推荐

如何比较嵌套对象的更改并创建更改报告

为什么在集内和集外会产生不同的promise 状态(使用Promise.race)?

React Native平面列表自动滚动

React存档iframe点击行为

D3多线图显示1线而不是3线

将json数组项转换为js中的扁平

字节数组通过echo框架传输到JS blob

为什么我的includes声明需要整个字符串?

如何将连续的十六进制字符串拆分为以空间分隔的十六进制块,每个十六进制块包含32个二元组?

被CSS优先级所迷惑

如何从JSON数组添加Google Maps标记—或者如何为数组添加参数到标记构造器

Spring boot JSON解析错误:意外字符错误

cypress中e2e测试上的Click()事件在Switch Element Plus组件上使用时不起作用

在react JS中映射数组对象的嵌套数据

如何使onPaste事件与可拖动的HTML元素一起工作?

在JS中拖放:检测文件

将Node.js包发布到GitHub包-错误ENEEDAUTH

递增/递减按钮React.js/Redux

脚本语法错误只是一个字符串,而不是一个对象?

使用VITE开发服务器处理错误