1

因此,我在订单确认页面上显示了以下 JSON:

var orderDetails = {
    "orderID": "o32770183",
    "orderQty": 3,
    "orderTotal": 575.97,
    "orderShipping": 49.97,
    "orderDiscount": 0,
    "orderTax": 39.74,
    "orderCity": "Norwalk",
    "orderState": "Connecticut",
    "itemId": [
        "sku500134",
        "sku230312",
        "sku133846"
    ],
    "itemQty": [
        1,
        1,
        1
    ],
    "itemPrice": [
        159.99,
        225.99,
        189.99
    ],
    "itemName": [
        "The 'Inaugural' Raymond R Cabernet Sauvignon",
        "H de l'Hospitalet",
        "Chateau Florie Aude"
    ]
}

提取数据的最佳方法是什么?

4

4 回答 4

3

或者,像这样 - 一种更动态的方法 - (如果你不知道对象元素)

for(i in orderDetails)
  alert(orderDetails[i])
于 2012-06-06T20:47:47.537 回答
2

这实际上不是 JSON,而是一个普通的旧 JavaScript 对象。您像使用任何其他对象一样提取数据

var orderId = orderDetails.orderID;

或者

var orderId = orderDetails["orderID"];

或对于数组:

var itemQtyArr = orderDetails.itemQty;
for(var i = 0, max = itemQtyArr.length; i < max; i++){
   console.log("itemQty", i, itemQtyArr[i]);
}

或 Vivek 发布的动态方法(+1 给他)

于 2012-06-06T20:45:48.887 回答
1

您可以使用 for in 迭代 Javascript 对象的键

让我们说

a = {"a":"hello","b":"world"};

for(var c in a){
  console.log(c); //will out put a,b in iterations
  console.log(a[c]) //will access values of keys a and b from the object a output hello, world
}
于 2012-06-06T20:49:26.537 回答
0

这是一个有用的 JSON 编辑器工具,它为您提供 JSON 对象的可视化表示。它列出了您的命名项目并为您提供了访问 JSON 值的路径:JSON 编辑器

于 2012-06-06T20:56:11.643 回答