-1

我正在尝试从 JSON 响应中获取一个值,其中响应中的另一个值是真的......听起来很乱,我是新手,抱歉。也许这会有所帮助,这是我的 JSON 响应的一部分:

({"findlocationresult":{
"from":{
"location":[{
  "@x":"1460658",
  "@y":"6247996",
  "displayname":"Stockholm (Ronneby kn)",
  "type":"S",
  "locationid":7432356},

  {
  "@x":"1628182",
  "@y":"6580960",
  "bestmatch":"true",
  "displayname":"Stockholm Centralstation",
  "type":"S",
  "locationid":7400001}

我正在尝试将displaynamewherebestmatch设置为 true。此外,bestmatch仅存在于响应中的一项(?)。

希望你能得到我想要做的!非常感谢帮助!

干杯!

4

3 回答 3

0

您可以通过在 jquery 中迭代 json 对象的所有元素来获得。

试试这个

$.each(data.findlocationresult.from.location, function(i, item) {
    if(data[i].bestmatch == "true")
    alert(data[i].displayname);
  ...............
   });​
于 2013-03-07T12:30:23.643 回答
0

试试这个

说你的对象是数据

 $.each(data.findlocationresult.from.location,function(i,v){
     if(v.bestmatch !== undefined and v.bestmatch == true){
       alert(v.displayname);
     }
 });
于 2013-03-07T12:31:53.053 回答
0

你可以尝试这样做

var str = \\your json string
var json = JSON.stringify(eval("(" + str + ")"));
var fromJson =  json.findlocationresult.from.location;
var size = fromJson.length;
var displayname=""
for(i=0;i<size;i++){
  if(fromJson[i].bestmatch=="true"){
    displayname = fromJson[i].displayname;
    break;
  }
}

警报(显示名称);

于 2013-03-07T12:32:47.297 回答