我正在尝试从我的json字符串中提取数组。请帮我。我有以下javascript代码,
function lookup(inputString,autoSuggestionsList,TextFieldName)
{
autoSuggestionsListMain=autoSuggestionsList;
inputTextField=TextFieldName;
if(inputString.length == 0)
{
$('#suggestions').hide();
}
else
{
$.post("show_location_hint.php",
{ queryString: ""+inputString+"" },
function(data) { if(data.length >0) { } });
}
}
我的show_location_hint.php文件将回显以下json字符串
{"root": {"success":"1","message":"","data":{"locations":[a,b,c]}}}
如何从阵列位置获取元素? 请帮我 感谢
答案 0 :(得分:2)
您可以使用JSON.parse()
将其解析为数组:
var dataArray = JSON.parse(jsonString)
然后只需简单地做:
alert(dataArray.root.message)
答案 1 :(得分:1)
试试这个:
$.post("show_location_hint.php", { queryString: inputString }, function(data) {
if (data) {
var locations = data.root.data.locations;
}
});
但请注意,您的JSON格式无效,因为a
,b
和c
应该用双引号括起来。我猜这只是你实际数据的一个样本。
答案 2 :(得分:0)
首先你的json很好。它应该是:
{"root": {"success":"1","message":"","data":{"locations":["a","b","c"]}}}
你可以使用jQuery获取这样的数据:
var data = {"root": {"success":"1","message":"","data":{"locations":["a","b","c"]}}};
console.log(data.root);
console.log(data.root.success);
console.log(data.root.data);
$.each(data.root.data,function(index,item){
console.log(item);
});