我有一个JSON字符串,如下所示。
{
"Building": [ "Roofing", "Builders", ],
"Rims & Tires": [ "Tire Fitter", ]
}
你如何从" Rims&轮胎"作为&好像通过我的javascript。
这是我必须使用的代码,javascript需要在一个字符串中,因为它来自一个php文件。
var result = "{"Building": ["Roofing", "Builders", ],"Rims & Tires": ["Tire Fitter", ]}";
$.each(result["Rims & Tires"], function(key1, value1) {
console.log("" + value1);
});
提前感谢您的任何答案。
答案 0 :(得分:1)
在您的代码中result
是一个字符串,而不是一个对象。要将JSON字符串转换为对象,可以使用JSON#parse
。但是,您的JSON字符串无效,需要一些清理。删除每个数组中最后一个括号之前的额外逗号。
此外,请将换行标记"
更改为'
,否则您将收到Invalid or unexpected token
错误。
在:
var result = "{"Building": ["Roofing", "Builders", ],"Rims & Tires": ["Tire Fitter", ]}";
后:
var result = '{"Building": ["Roofing", "Builders"],"Rims & Tires": ["Tire Fitter"]}';
现在字符串是一个有效的字符串和一个有效的JSON,您可以将其解析为一个对象,然后使用括号表示法访问内部数组:
var result = '{"Building": ["Roofing", "Builders"],"Rims & Tires": ["Tire Fitter"]}';
// parse the string
var resultObject = JSON.parse(result);
// iterate using forEach or if you must use jquery $.each
resultObject['Rims & Tires'].forEach(function(value, index) {
console.log(index, value);
});