这是我的代码。我用过jquery解析。你能帮我么?如何解析这个?
var jsondata= {
"forms": [
"{\"lat\":11.913859799999999,\"lng\":79.8144722}",
"{\"lat\":11.913859799999999,\"lng\":79.8144722}"
]
}
var a=$.parseJSON(jsondata);
alert(a.forms[0].lat); // not working show "undefined"
错误:
未捕获的SyntaxError:意外的令牌,
答案 0 :(得分:0)
您必须解析ggplot(dfl, aes(x=choice, y=perc, fill=choice)) +
geom_bar(stat="identity") +
ylab("percent") +
facet_wrap(~ group)
元素才能将其转换为真实对象:
forms[0]
var jsondata= {
"forms": [
"{\"lat\":11.913859799999999,\"lng\":79.8144722}",
"{\"lat\":11.913859799999999,\"lng\":79.8144722}"
]
}
var result = document.querySelector('pre');
result.textContent = JSON.parse(jsondata.forms[0]).lat;
// ^ parse here
// parse all elements of jsondata.forms:
// first: convert the elements of jsondata.forms to objects
jsondata.forms = jsondata.forms.map(function (v) { return JSON.parse(v); });
// now the jsondata.forms elements are objects
result.textContent += '\n\nThe converted jsondata.forms Array\n' +
JSON.stringify(jsondata.forms, null, ' ') +
'\n\nso: jsondata.forms[1].lng = ' + jsondata.forms[1].lng;
答案 1 :(得分:0)
我认为后端对您的应用程序产生了错误的响应
这样的样本让我说我有一个
数组$data['default'] = array(
array(
'email' => 'sample@gmail.com',
'username' => 'username1'
),
array(
'email' => 'sample@yahoo.com',
'username' => 'username2'
),
array(
'email' => 'sample@hot.com',
'username' => 'username3'
)
);
$data['title'] = 'Sample';
并使用
echo json_encode(json_encode($data));die();
会产生类似这样的数据
"{\"default\":[{\"email\":\"sample@gmail.com\",\"username\":\"username1\"},{\"email\":\"sample@yahoo.com\",\"username\":\"username2\"},{\"email\":\"sample@hot.com\",\"username\":\"username3\"}],\"title\":\"Sample\"}"
但如果仅使用
echo json_encode($data);die();
它会创建一个有效的json数据
{
"default": [
{
"email": "sample@gmail.com",
"username": "username1"
},
{
"email": "sample@yahoo.com",
"username": "username2"
},
{
"email": "sample@hot.com",
"username": "username3"
}
],
"title": "Sample"
}
使用您的数据
var jsondata= {
"forms": [
"{\"lat\":11.913859799999999,\"lng\":79.8144722}",
"{\"lat\":11.913859799999999,\"lng\":79.8144722}"
]
};
并使用一些jQuery代码:
$.each(jsondata.forms, function(i, me){
console.log(JSON.parse(me));
});
使用navite javascript
for (var i = 0; i < jsondata.forms.length; i++) {
console.log(JSON.parse(jsondata.forms[i]));
}
返回
{lat: 11.913859799999999, lng: 79.8144722}
{lat: 11.913859799999999, lng: 79.8144722}
答案 2 :(得分:0)
JSON不是JavaScript!它是一种数据序列化格式。
var jsondata =
"{ \"forms\": ["
+ "{\"lat\":11.913859799999999,\"lng\":79.8144722} , "
+ "{\"lat\":11.913859799999999,\"lng\":79.8144722} ] }"
var a = JSON.parse(jsondata)
JSON.parse
和JSON.stringify
parse