我必须迭代“price_detail”json数组对象。请教我如何重新研究这种类型的对象。我已经穿过很多结构,但不是这种类型。我无法找到这种类型的数据结构的搜索移调json对象数组
码I使用“嵌套通过JSON对象阵列迭代”的一个例子:
$.each(json.data['price_detail'], function (i, item) {
console.log('name='+ i + ' value=' +item);
}
output:
name=price value=14.7,14.7,14.7
name=type value=coupon,coupon,coupon
name=savings value=,75%,35%
name=pharmacy value=Walmart,Kmart,Costco
数据具有如下的结构。
{"errors": [],
"data": {"form": "tablet",
"price_detail":
{"price": [14.7, 14.7, 14.7],
"type": ["coupon", "coupon", "coupon"],
"savings": [null, "75%", "35%"],
"pharmacy": ["Walmart", "Kmart", "Costco"]},
"brand": ["lortab", "maxidone", "vicodin", "norco", "xodol", "hycet"],
"dosage": "5mg/325mg", "generic": ["hydrocodone/acetaminophen", "lorcet", "zolvit"],
"prices": [14.7, 14.7, 14.7],
"quantity": 60,
"display": "Lortab, Maxidone, Vicodin, Norco, Xodol, Hycet (hydrocodone/acetaminophen, lorcet, zolvit)",
"manufacturer": "generic"},
"success": true}
我想要一个使用制药,类型,节省和价格的对象;如:
{
["Walmart", "coupon", NULL, 14.7],
["Kmart", "coupon", "75%", 14.7],
["Costco","coupon", "35%", 14.7]
}
谢谢。
编辑:我改变了标题。淘宝网后,我发现我需要调换json结果。请原谅我缺乏术语。
我试图使用此功能,我发现转置的阵列
function transpose(a) {
return Object.keys(a[0]).map(function (c) {
return a.map(function (r) {
return r[c];
});
});
}
创建的测试数据,通过功能
var testData = [ [14.7, 14.7, 14.7],
["coupon", "coupon", "coupon"],
[null, "75%", "35%"],
["Walmart", "Kmart", "Costco"]
]
var result = transpose(testData);
运行它这使我所期望的结果。
[14.7, "coupon", null, "Walmart"],
[14.7, "coupon", "75%", "Kmart"],
[14.7, "coupon", "35%", "Costco"]
现在,当我跑我的“price_detail”对象通过它
transpose(json.data['price_detail']);
我陷在这样的错误:遗漏的类型错误:无法转换未定义或为空反对
https://stackoverflow.com/questions/19323699/iterating-through-json-object-javascript做发布前一些研究,然后写一些代码,试图解决自己的问题。如果您无法使其工作,请在此处发布您的代码。这不是免费的编码服务,当然也不是免费的研究服务。你认为之前没有人尝试循环过一个对象,或者从结果中创建一个新对象?如果可以看到您先做出了自己的努力,人们会很乐意花时间和精力来帮助您修复代码。 – ADyson
[迭代通过json对象javascript]可能的副本(https://stackoverflow.com/questions/19323699/iterating-through-json-object-javascript)我假设你想用javascript来做到这一点,尽管你甚至没有在问题中标记过某种语言。 – ADyson
我确实做了一些研究,不再假设。我写了代码,谢谢你的提问。我不明白如何排列数据与列,我相信我需要通过列循环 – user2751629