Json 字符串中有斜杠
Json with slash in string
我在从JSON中获取数据时遇到了一点问题,实际上可以获取一些数据,但是当您出现“/_string”时脚本错误。
示例:
JSON
"results":[{
price_value_prices: 15.05
price_value_prices/_currency: "USD"
price_value_prices/_source: ".05"
}];
AJAX
$.ajax({
type: 'GET',
url: $url,
dataType: 'json',
success: function (data) {
data.results[$n].price_value_prices/_sources
}
});
控制台日志输出
_sources is not defined
我该如何解决这个问题?
首先,如果字段名称左侧没有引号,您的 JSON 无效,因此请将其更改为:
"results":[{
"price_value_prices": 15.05
"price_value_prices/_currency": "USD"
"price_value_prices/_source": ".05"
}]
然后使用 []
运算符访问它。
data.results[$n]["price_value_prices/_sources"]
您不能使用 /
,因为它是另一个运算符。如果您的字段名称中有 /
或 .
,使用 []
运算符是明智的。
您的JSON在四种不同的方面是无效的:
您在任何对象初始值设定项之外都有一个 属性 初始值设定项。
属性 键必须在 JSON.
中用双引号括起来
对象中的属性之间必须有逗号。
你的结尾有一个;
。
#2 将解决您的 /
问题。
这是一个有效的版本:
{
"results": [{
"price_value_prices": 15.05,
"price_value_prices/_currency": "USD",
"price_value_prices/_source": ".05"
}]
}
假设您对其进行解析并将结果分配给 obj
,您可以使用括号表示法和引号(任何类型)访问 price_value_prices/_currency
:
console.log(obj.results[0]["price_value_prices/_currency"]);
console.log(obj.results[0]['price_value_prices/_currency']);
注意 results
之后的 [0]
,因为它是一个只有一个条目的数组。
我在从JSON中获取数据时遇到了一点问题,实际上可以获取一些数据,但是当您出现“/_string”时脚本错误。
示例:
JSON
"results":[{
price_value_prices: 15.05
price_value_prices/_currency: "USD"
price_value_prices/_source: ".05"
}];
AJAX
$.ajax({
type: 'GET',
url: $url,
dataType: 'json',
success: function (data) {
data.results[$n].price_value_prices/_sources
}
});
控制台日志输出
_sources is not defined
我该如何解决这个问题?
首先,如果字段名称左侧没有引号,您的 JSON 无效,因此请将其更改为:
"results":[{
"price_value_prices": 15.05
"price_value_prices/_currency": "USD"
"price_value_prices/_source": ".05"
}]
然后使用 []
运算符访问它。
data.results[$n]["price_value_prices/_sources"]
您不能使用 /
,因为它是另一个运算符。如果您的字段名称中有 /
或 .
,使用 []
运算符是明智的。
您的JSON在四种不同的方面是无效的:
您在任何对象初始值设定项之外都有一个 属性 初始值设定项。
属性 键必须在 JSON.
中用双引号括起来
对象中的属性之间必须有逗号。
你的结尾有一个
;
。
#2 将解决您的 /
问题。
这是一个有效的版本:
{
"results": [{
"price_value_prices": 15.05,
"price_value_prices/_currency": "USD",
"price_value_prices/_source": ".05"
}]
}
假设您对其进行解析并将结果分配给 obj
,您可以使用括号表示法和引号(任何类型)访问 price_value_prices/_currency
:
console.log(obj.results[0]["price_value_prices/_currency"]);
console.log(obj.results[0]['price_value_prices/_currency']);
注意 results
之后的 [0]
,因为它是一个只有一个条目的数组。