Javascript 如何选择JSON对象中使用的字符串格式的键:值对?
我想选择长度,但它是字符串形式。沿着attribs.length的线条,但没有返回任何内容Javascript 如何选择JSON对象中使用的字符串格式的键:值对?,javascript,json,object,key,Javascript,Json,Object,Key,我想选择长度,但它是字符串形式。沿着attribs.length的线条,但没有返回任何内容 attribs: { "length": ""4"", "nightride": "null" } 我试着把它分开再重新加入,但不管怎样我都得不到我想要的。 我也试过attribs[length]和attribs[“length”],但都没有用 以下是它的主要来源: { 地点:[ { 城市:“博伊西”, 州:“爱达荷州”, 国家:“美国”, 名称:“麋鹿草地”, 父项id:null,
attribs: {
"length": ""4"",
"nightride": "null"
}
我试着把它分开再重新加入,但不管怎样我都得不到我想要的。
我也试过attribs[length]和attribs[“length”],但都没有用
以下是它的主要来源:
{
地点:[
{
城市:“博伊西”,
州:“爱达荷州”,
国家:“美国”,
名称:“麋鹿草地”,
父项id:null,
唯一识别号:1637,
方向:“从博伊西的北端(山路和假山盆地路的交叉口),沿假山盆地路向北行驶约16.5英里。路面在下(主)端结束Bogus Creek Lodge附近的停车场。沿着Boise Ridge路行驶。离开主山脊路时,沙面变成路面。然后向右分离,通过一系列开关返回Pioneer Lodge milage,从这里开始“,
拉脱维亚:43.764,
lon:-116.10324,
description:null,
创建日期:空,
儿童:[],
活动:[{
名称:“麋鹿草地”,
唯一标识:“1-118”,
地点:1637,,
活动类型标识:5,
活动类型名称:“山地自行车运动”,
url:“http://www.singletracks.com/item.php?c=1&i=118",
属性:{
“长度”:“4”,
“夜车”:“空”
},
描述:“在先锋小屋后面向东行驶,经过左侧的网球场。双轨变得更加清晰”,
长度:4,
活动类型:{
创建于:“2012-08-15T16:12:35Z”,
id:5,
名称:“山地自行车运动”,
更新地址:“2012-08-15T16:12:35Z”
},
缩略图:“http://images.singletracks.com/2010/11/Elk-Meadows-on-the-Ranier-0.jpg",
等级:空,
评级:3
}
]
},
由于length
属性周围有一组额外的引号,因此可以使用JSON.parse
将其解析为字符串
JSON.parse(obj.attribs.length);
要将其转换为一个数字,请使用parseInt()
。这样它就变成:
var length = parseInt(JSON.parse(obj.attribs.length), 10);
由于
length
属性周围有一组额外的引号,因此可以使用JSON.parse
将其解析为字符串
JSON.parse(obj.attribs.length);
要将其转换为一个数字,请使用parseInt()
。这样它就变成:
var length = parseInt(JSON.parse(obj.attribs.length), 10);
您的JSON无效。JSON应该始终是单个数组或单个对象 这是一个正确的JSON:
{
"attribs": {
"length": "4",
"nightride": "null"
}
因此,您可以:
.done(function(data) {
data = "{" + data.replace("\"\"", "\"") + "}";
var obj = JSON.parse(data);
alert(obj.attribs.length);
});
您的JSON无效。JSON应该始终是单个数组或单个对象 这是一个正确的JSON:
{
"attribs": {
"length": "4",
"nightride": "null"
}
因此,您可以:
.done(function(data) {
data = "{" + data.replace("\"\"", "\"") + "}";
var obj = JSON.parse(data);
alert(obj.attribs.length);
});
如果attribs是一个实际的javascript对象,并且需要attribs.length的数值
var x = parseFloat(attribs.length.replace(/"/g,''));
如果attribs是一个实际的javascript对象,并且需要attribs.length的数值
var x = parseFloat(attribs.length.replace(/"/g,''));
好了,大家好!我很难为情以前没有看到这个,但是在我所看到的对象响应下面有两个键:值对
attribs:{
“长度”:“4”,
“夜车”:“空”
},
还有另一个关键点:我们都知道并且喜欢的标准值格式中的距离值对:
attribs:{
“长度”:“4”,
“夜车”:“空”
},
描述:“在先锋小屋后面向东行驶,经过左侧的网球场。双轨变得更加清晰”,
长度:4,
强调
长度:4,
当然,我把我的符号指向了这一点
Jaromanda X的回答最直接,在我看来,也是最清晰/准确/准确的,所以他接受了检查。好了,各位!我很不好意思以前没有看到这一点,但在我所看到的对象响应的下面有两个键:值对
attribs:{
“长度”:“4”,
“夜车”:“空”
},
还有另一个关键点:我们都知道并且喜欢的标准值格式中的距离值对:
attribs:{
“长度”:“4”,
“夜车”:“空”
},
描述:“在先锋小屋后面向东行驶,经过左侧的网球场。双轨变得更加清晰”,
长度:4,
强调
长度:4,
当然,我把我的符号指向了这一点
在我看来,Jaromanda X的回答最直接、最清晰、最精确、最准确,所以他接受了检查。使用
JSON.parse
,var obj=JSON.parse(jsonString);alert(obj.length);
似乎不是有效的JSON,带有“4”“
那不是字符串形式,那是无效的form我也这么想,但它是从API来的。它是从API来的-我知道你现在使用的是JSON.parse
,var obj=JSON.parse(jsonString);alert(obj.length);
似乎不是有效的JSON,带有”4“
那不是字符串形式,那是无效的form我也这么想,但它是从API来的。它是从API来的
-我明白了