【发布时间】:2016-08-19 08:37:28
【问题描述】:
我目前正在创建一个工具,允许用户输入他们的状态和类别,以查看 3 个价格计划是什么。这 2 个选项(状态/类别)将通过选择字段进行选择,包含这些数字的数据位于 JSON 文件中:
[{
"Alabama/Category1/Price1":"$123,123 ",
"Alabama/Category1/Price2":"$123,123 ",
"Alabama/Category1/Price3":"$123,123 ",
"Alabama/Category2/Price1":"$345,345 ",
"Alabama/Category2/Price2":"$345,345 ",
"Alabama/Category2/Price3":"$345,345 ",
"Alabama/Category3/Price1":"$456,789 ",
"Alabama/Category3/Price2":"$456,789 ",
"Alabama/Category3/Price3":"$456,789 ",
"Alabama/Category4/Price1":"$321,321 ",
"Alabama/Category4/Price2":"$321,321 ",
"Alabama/Category4/Price3":"$321,321 ",
"Alaska/Category1/Price1":"$123,123 ",
"Alaska/Category1/Price2":"$123,123 ",
"Alaska/Category1/Price3":"$123,123 ",
"Alaska/Category2/Price1":"$345,345 ",
"Alaska/Category2/Price2":"$345,345 ",
"Alaska/Category2/Price3":"$345,345 ",
"Alaska/Category3/Price1":"$456,789 ",
"Alaska/Category3/Price2":"$456,789 ",
"Alaska/Category3/Price3":"$456,789 ",
"Alaska/Category4/Price1":"$321,321 ",
"Alaska/Category4/Price2":"$321,321 ",
"Alaska/Category4/Price3":"$321,321 ",
}]
基本上在单击按钮时,我想遍历 JSON 文件并根据用户选择获取状态/类别。由于该关键路径中有一些“/”,我尝试将用户选择存储在一个变量中,以便我可以定位每个价格点并将它们显示在页面上。我尝试将其存储在一个变量中,如下所示:
var test = stateSelected + '/' + categorySelected + '/Price1';
但这不起作用,并且想知道是否有任何关于如何实现这一点的其他见解?阅读其他一些材料,似乎有些人建议使用 $.parseJSON,但这也不起作用。为此我使用了:
$.getJSON("json_data.json", function(obj) {
$.each($.parseJSON(data), function(key, value) {
//code here
});
});
很抱歉,我在这个网站上有太多次没有提供足够的信息让人们能够理解真正的问题,我希望我已经正确地概述了我的问题。对此的任何帮助将不胜感激。谢谢!
编辑:另外,如果您认为除了我在这里的方式之外还有其他方式来呈现 JSON 数据,请告诉我。数据将通过电子表格更新,我使用了 Excel -> JSON 翻译工具,这就是它吐出数据的方式。
【问题讨论】:
-
data中的$.parseJSON(data)是什么?为什么你的代码不使用obj? -
您的 JSON 文件包含一个对象数组。为什么它在一个数组中?如果相同的
State/Category/Price出现在数组的多个项目中怎么办? -
obj[0][test]不返回你想要的吗? -
你说得对,应该是(obj)。在回复中:“如果数组中的多个项目中有相同的状态/类别/价格怎么办?”,我相信这就是@Tudor 在他的回答中提到的。我提出了另一个问题,试图让 JSON 格式不同,但唯一的问题是我可以使用 Excel -> JSON 工具,这是唯一被吐回给我的数据。
标签: javascript jquery json key each