2014-09-29 78 views
1

我有這種json數據。我正在使用他的jquery訪問json密鑰的最短途徑

{ 
    "Vitals":[ 
    { 
    "Bp Systolic":"", 
    "Bp Diastolic":"", 
    "Weight":"", 
    "Height":"", 
    "BMI":"" 
    } 
    ], 
    "Lab":[ 
    { 
    "Lipid_profile":[{ 
     "Total Cholestrol":"", 
     "TRIGLYCERIDES":"" 
     }], 
    "blood":[{ 
     "A1C":[{ "sample" }], 
     "ALBUMIN":"", 
     "CALCIUM":"", 
     "Glucose":"", 
     "POTTASIUM":"" 
    }] 
    }] 
    } 

我想訪問A1C。什麼將是這樣做的有效方式。我知道我們可以通過迭代json來訪問它。我只是在尋找有效的方法。

更新:

因爲你們說,我曾經嘗試這樣做,但我得到它爲未定義

$.get('sample.json',function(data){ 
     alert(data.toSource()); //all data 
     alert(data.Lab.blood); //undefined 
     }); 
+1

如果你確切地知道你想去的地方,你可以直接訪問它:obj.blood.A1C(無論你用什麼語言來操縱該對象) – Erik 2014-09-29 08:24:14

+0

讓我知道血液和內部沒有意識到它得到了什麼? – divakar 2014-09-29 08:28:28

回答

1

最簡單和乾淨的方法是將JSON字符串轉換爲對象,然後用jsonObj.Lab.blood.A1C以任何語言訪問它。

否則,您可以使用regEx找到它或替代獲得它,但如果你問我這兩個解決方案將是醜陋的。

+0

你的意思是解析json到對象? – divakar 2014-09-29 08:27:52

+0

是的。取決於您使用的語言,這可以通過多種方式完成。 – Sasse 2014-09-29 08:29:55

0

可以解析響應爲JSON對象和埃裏克·薩瑟與所述訪問路徑「obj.blood.A1C」,或者你可以用正則表達式搜索特定的字符串像

\"A1C\":\[\{ \"([^\"]*)\" 

那會將令牌A1C值的內容返回給第一個匹配結果組。

如果您告訴我們編程語言,也許我們可以更具體一些。