2016-02-24 140 views
1

我試圖從JSON數據獲取密鑰和值。從JSON獲取密鑰和值

$.get(url, function (data) { 
    console.log(data); 
    if (data.Body != null) { 
     console.log(data.Body); 
    } 
}); 

這是我的日誌:

{ 
    $id: "1", 
    Exceptions: null, 
    ContentType: null, 
    Body: '{text: "Hello World!"}',  
    Version: 0 
} 

'{text: "Hello World!"}' 

現在我想從第二(data.Body)鍵和值,並追加到一個div之後,但我不設法得到這些。我試過Object.Keys,但不起作用。 請幫我解答。 謝謝!

+5

您需要剖析'Body'屬性中包含的字符串。您無法將其解析爲JSON(在任何人建議之前),因爲它的格式不正確。 2個選項,1.將'Body'中的字符串格式更改爲有效的JSON。 2.將Body值作爲子對象返回,而不必再次解析JSON。後者是可取的,國際海事組織。 –

+0

好的,格式應該是「text」:「Hello world!」 ? – RobertRPM

+1

沒錯,例如。 'Body:'{「text」:「Hello World!」}',' –

回答

1

嘗試像下面

if (data.Body != null) { 

    $.each(data.Body, function(key, value) { 
     console.log(key + ": " + value); 
    }); 
}else{ 
     console.log('data field emplty'); 
} 

這將幫助ü..如u想展現輸出

+0

'if(data.Body!= null)console.log(data.Body); var obj = $ .parseJSON(data.Body); (key,value){console.log(key +「:」+ value); }); }' 我做了這樣的事情,它的工作原理。謝謝 ! – RobertRPM

+0

是的..那一個也正確..其up2u你如何使用jquery api –

+0

它的意思是你的數據不在json中,這就是爲什麼你需要使用$ .parseJSONE函數 –

0

嗨你的身體屬性包含字符串值你需要將其轉換爲JSON。

試試下面的代碼

var obj = jQuery.parseJSON(data.Body); 
alert(obj.text); 
0

我做到了,在早期的應用程序:

function (data) { 
      $.each(data, function (i, state) { 
       $("#BoardIDFK").append('<option value="' 
        + state.Value + '">' 
        + state.Text + '</option>'); 
      }); 
     },