获取另一个值为true的值

时间:2013-03-07 12:27:02

标签: jquery json

我正在尝试从JSON响应中获取值,其中响应中的另一个值为true ...听起来很乱,我是新手,对不起。 也许这会有所帮助,这是我的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}

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

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

干杯!

3 个答案:

答案 0 :(得分:0)

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

试试这个

$.each(data.findlocationresult.from.location, function(i, item) {
    if(data[i].bestmatch == "true")
    alert(data[i].displayname);
  ...............
   });​

答案 1 :(得分:0)

试试这个

说你的对象是数据

 $.each(data.findlocationresult.from.location,function(i,v){
     if(v.bestmatch !== undefined and v.bestmatch == true){
       alert(v.displayname);
     }
 });

答案 2 :(得分: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;
  }
}

警报(显示名称);