I can't figure out how to traverse this json in classic asp:
{"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
What am I missing? Is this not the proper way to traverse a JSON object in Classic ASP?
I figured out in Xtreme how to write the json I wanted. I ended up with this:
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"
}]
}
And the code to traverse the array:
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