如何通过json数组迭代并使用jQuery拉取值

时间:2012-06-06 20:44:44

标签: javascript jquery json

所以我在订单确认页面上显示以下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 个答案:

答案 0 :(得分:3)

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

for(i in orderDetails)
  alert(orderDetails[i])

答案 1 :(得分: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给他)

答案 2 :(得分:1)

您可以使用in 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
}

答案 3 :(得分:0)

这是一个有用的JSON编辑器工具,可以直观地显示您的JSON对象。它列出了您的命名项,并为您提供了访问JSON值的路径:JSON Editor