2017-08-10 5 views
1

ajaxリクエストを使用してPHPページからJSON結果を取得しています。私は希望の結果を得るために多くを試みた。私は以下のアプローチを行ったが、まだ期待通りに得ることができない。JSON値検索

{ 
    "search": { 
     "entry": [ 
      { 
       "attribute": [ 
        { 
         "name": "title", 
         "value": [ 
          "Mr." 
         ] 
        }, 
        { 
         "name": "mail", 
         "value": [ 
          "[email protected]", 
          "[email protected]", 
          "[email protected]" 
         ] 
        } 

       ] 
      } 
     ] 
    } 
} 

私はどうすればtitle='Mr'またはmail='[email protected]'のような結果を得ることができますDefiant.js

success: function (data) { 
var xx=JSON.stringify(data); 
//     var got = $.each(data.search.entry[0].attribute, function (i, v) { 
//      return v; 
//     
//     }); 
      alert(xx); 
    var z=JSON.search(xx, '//*[name="title"]/value[1]'); 
        alert(z); 
       },   

を使用して値を取得するには、次の検索を試してみました。

答えて

0

jsonが適切な構造を持っている場合、なぜ正規表現の解決策が必要ですか?私はあなたのコードとjsonを見て、タイトルのメールの最初のインデックス値が必要なようです。 タイトルメールの両方を検索できる次の関数を参照してください。

var arrt = ' {"search": {"entry": [ {"attribute": [ {"name": "title","value": [ "Mr."] }, {"name": "mail","value": [ "[email protected]", "[email protected]", "[email protected]"] }] }] }}'; 

    SearchMyWordTT(arrt,"title"); 
    //SearchMyWordTT(arrt,"mail"); 

    function SearchMyWordTT(arr,index){ 

     arr = JSON.parse(arr); 

     for(var i=0;i< arr["search"]["entry"][0]['attribute'].length;i++){   
      if(typeof (arr["search"]["entry"][0]['attribute'][i]['name']) !="undefined" && arr["search"]["entry"][0]['attribute'][i]['name'] == index) 
       retIn = arr["search"]["entry"][0]['attribute'][i]['value'][0]; 
     } 

     return retIn; 
    } 
+0

https://meta.stackoverflow.com/questions/355102/a-user-massively-tries-to-add-irrelevant-tags-which-i-can-see-while-reviewing-s? cb = 1 –