2016-07-04 46 views

回答

2
$scope.text = '{"response":"{\"firstName\":\"John\",\"age\":454 }"}'; 

這裏的問題是,這不是JSON。

就其本身而言:

{"response":"{\"firstName\":\"John\",\"age\":454 }"} 

...是JSON。

但是,一旦將它包裝在JavaScript字符串文字中,\將用作JavaScript字符串文字的轉義字符,並在它出現在JSON中之前被使用。

當您生成JSON嵌入JS,你需要轉義特殊含義的字符在JS:

$scope.text = '{"response":"{\\"firstName\\":\\"John\\",\\"age\\":454 }\"}'; 

這也將是一個好主意,重新設計你的數據結構,使您的JSON不首先包含JSON字符串:

$scope.text = '{"response": {"firstName":"John","age":454}}'; 
+0

謝謝,但如何將其轉換爲JavaScript對象。我添加了一個演示頁面。我該怎麼辦? –

+0

@Ehsan - 您需要修復輸入(使其成爲JSON),如我所描述的,並舉例說明。您可以將JSON.parse應用於它。 – Quentin

+0

我無法更改從服務器獲取的響應 –

相關問題