【问题标题】:classic asp json ASP-Xtreme traverse json object经典asp json ASP-Xtreme 遍历json对象
【发布时间】:2019-04-26 17:17:32
【问题描述】:

我不知道如何在经典 asp 中遍历这个 json:

{"recs": 
    [
        {"0":
            {
                "idOrder":"1",
                "idProduct":10,
                "description":
                "prod 10",
                "orgweight":5,
                "newweight":5,
                "rootsku":"sku1",
                "size":"12-18 Months"
            },
        "1":
            {
                "idOrder":"2",
                "idProduct":20,
                "description":"prod 20",
                "orgweight":5,
                "newweight":5,
                "rootsku":"sku2",
                "size":"12-18 Months"
            }
        }
    ]
}

sub updateWeights()
    dim jsonOBJ : set jsonOBJ= JSON.parse(join(array(myJsonString)))
    For Each rec in jsonOBJ("recs")
            'I want to compare orgweight vs newweight and update the db accordingly
    Next
end sub

我错过了什么?这不是在 Classic ASP 中遍历 JSON 对象的正确方法吗?

【问题讨论】:

    标签: json foreach asp-classic


    【解决方案1】:

    我在 Xtreme 中找到了如何编写我想要的 json。我最终得到了这个:

        dim jsonOBJ : set jsonOBJ= JSON.parse(join(array(Request.Form("data"))))
    {
        "prodArray": [{
            "idOrder": "266269",
            "idProduct": 281953,
            "description": "description 1",
            "orgweight": 2,
            "newweight": 3,
            "rootsku": "sku1",
            "size": "2T"
        }, {
            "idOrder": "266269",
            "idProduct": 274437,
            "description": "description 2 ",
            "orgweight": 2,
            "newweight": 2,
            "rootsku": "sku2",
            "size": "3T"
        }, {
            "idOrder": "266269",
            "idProduct": 268546,
            "description": "description3 ",
            "orgweight": 1,
            "newweight": 2,
            "rootsku": "sku3",
            "size": "3T"
        }]
    }
    

    以及遍历数组的代码:

        dim key: For Each key in jsonOBJ.prodArray.keys()
            set rec=jsonOBJ.prodArray.get(i)
            if rec.orgweight <> rec.newweight then
                query = "update products set weight=" & rec.newweight & " where  rootsku = '" & rec.rootsku & "' and size = '" & rec.size & "'"
                connTemp.execute(query)
                query="update Product_Weights_master set [" & rec.size & "] = " & rec.newweight & " where sku = '" & rec.rootsku & "'"
                connTemp.execute(query)
            end if
            i=i+1
        next
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多