-1

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}

displaynamewherebestmatchがtrueに設定されていることを確認しようとしています。また、bestmatch応答の1つの項目(?)にのみ存在します。

私がやろうとしていることをあなたが手に入れてくれることを願っています!助けてくれてありがとう!

乾杯!

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 に答える