2017-04-27 72 views
2

我的程序發送一些JSON我的API(工作正常):如何分析我的JSON對象

var result = await fetch('http://localhost:58553/api/Foo', { 
    method: 'POST', 
    headers: { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json', 
    }, 
    body: JSON.stringify(this.state) 
});  

var contentResult = await result.text(); 

var contentResultObject = JSON.parse(contentResult); 

console.log(contentResult); 
console.log(contentResultObject); 
console.log(contentResultObject.code); 

console.log輸出:

"{\"code\":1,\"probability\":0.985368549823761}" 
{"code":1,"probability":0.985368549823761} 
undefined 

任何理由,這是不工作?我的API只是返回一個字符串:

return JsonConvert.SerializeObject(result); 
+0

''contentResultObject應該是一個JSON對象。此外,'result'應該是默認的JSON對象 –

+0

我不知道爲什麼你和你的結果有問題嗎?但我已測試它的工作.. – 2017-04-27 10:11:19

+0

你試過'JSON.parse'嗎? – evolutionxbox

回答

0

你的contentResult輸出看起來像你的有效載荷已經被雙重編碼。您可以登錄typeof contentResultObject,這應該顯示string驗證這一點。

要解決你理想解決服務器上的雙重編碼問題的問題,但如果你不能,你可以簡單地套用JSON.parse兩次。

+0

它聲明字符串 – Jason94