2017-08-10 68 views
1

我从使用ajax请求的PHP页面获得低于JSON的结果。我尝试了很多以获得理想的结果。我已经做了下面的方法,但仍然无法按预期得到。JSON值搜索

{ 
    "search": { 
     "entry": [ 
      { 
       "attribute": [ 
        { 
         "name": "title", 
         "value": [ 
          "Mr." 
         ] 
        }, 
        { 
         "name": "mail", 
         "value": [ 
          "[email protected]", 
          "[email protected]", 
          "[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); 
       },   

我怎么能得到像title='Mr'mail='[email protected]'结果得到的值。

回答

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 –