经典的asp json ASP-Xtreme遍历json对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典的asp json ASP-Xtreme遍历json对象相关的知识,希望对你有一定的参考价值。

我无法弄清楚如何在经典的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对象的正确方法吗?

答案

我在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

以上是关于经典的asp json ASP-Xtreme遍历json对象的主要内容,如果未能解决你的问题,请参考以下文章

经典asp的性能提示?

为下一步添加经典 asp

经典算法双指针(尺取法):爱,是双向奔赴,还是你追我赶?

js遍历table中的数据,并组装成json

JS遍历一个数组里包含数组对象然后组成三个新的数组,怎么遍历?

ASP.NET Core appsettings.json 文件