2016-06-22 63 views
0

我正在使用json.stringify()函數將我的結果打印在適當的div輸出1中。Json.stringify()函數以正確的格式輸出結果

$("div#output1").html(JSON.stringify(response))

結果是:

" {\n \"prediction\": \"Positive\",\n \"confidence_score\": {\n \"Positive\": \"56.49\",\n \"Negative\": \"43.51\"\n }\n}\n\r\n" 

我怎樣才能消除這些\n \ \r

+2

[複製] (http://stackoverflow.com/questions/4253367/how-to-escape-a-json-string-containing-newline-chara使用javascript) –

回答

6

使用text()代替html()

$("div#output1").text(JSON.stringify(response)); 

這將創建DOM中的適當的文本類型的節點,而不是逃避爲HTML。

如果問題仍然存在,則可能是服務器端。在這種情況下,請查看HTTP響應以查看您實際從服務器獲得的內容。

在chrome上,按F12打開開發工具,進入網絡,使用F5重新加載頁面並再次激發AJAX請求。那時你會看到HTTP請求/響應條目。點擊它,並檢查響應表,您將看到服務器提供的原始ASCII數據。如果這仍然逃脫,那麼問題是服務器端。

在PHP中使用var_dump()將該字符串直接輸出到頁面上(不含AJAX)並查看它。它可能已經在數據庫中被轉義了。在這種情況下,你必須在響應管道的某個地方使用它。最簡單的事情就是直接在客戶端的JS中直接使用它。這不會要求您更改應用程序的其餘部分(即輸入表單)。事實上,在數據庫中保存轉義字符串是一個好主意。

您可能想爲文本節點的輸出<pre>標籤:

<pre id="output1"></pre> 
+0

仍然得到相同的輸出 – tanya

+0

看起來像服務器端確實 – ben

+0

正如本說,放在節點周圍'

'標籤,使用:'text()'和這些標籤。 –
                        
                            
    pid
                                
                            
                        
                    

1

我不知道你怎麼得到這個奇怪的輸出。 正如你可以在片段中看到的,json沒有\n和朋友。

我使用pre而不是div,所以如果\n在那裏,它會創建一個新行。

var response = { 
 
    "prediction": "Positive", 
 
    "confidence_score": { 
 
    "Positive": "56.49", 
 
    "Negative": "43.51" 
 
    } 
 
}; 
 

 
$("pre#output1").html(JSON.stringify(response));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<pre id="output1"></pre>

不過,你可以在你的字符串要做的就是更換值... 事情是這樣的:

var output = " {\n \"prediction\": \"Positive\",\n \"confidence_score\": {\n \"Positive\": \"56.49\",\n \"Negative\": \"43.51\"\n }\n}\n\r\n"; 
 
$('#original').html(output); 
 
$('#output1').html(output.replace(/\r|\n|\"/g, ''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
original: 
 
<pre id="original"></pre> 
 
output: 
 
<pre id="output1"></pre>

+0

thanx.this替換與我的div一起工作。但我想要的格式要像'code'字符串「{ 「預測」: 「積極的」, 「confidence_score」:{ 「正」: 「56.49」, 「負」: 「43.51」 }} '(長度= 123) – tanya

+0

他們將是許多併發症,如果我使用pre。 – tanya