2010-05-16 44 views

回答

2

是。換行符必須以JSON字符串形式跳轉爲\n

2

另一種選擇是創建一個JSON陣列,其中每個元素是字符串的一個新行。閱讀程序然後可以用新行加入它。

所以不是:

{ 
    value : "string with\nline breaks" 
} 

你可以做

{ 
    value : ["string with", 
      "line breaks"] 
} 
+0

爲什麼? '\ n'轉義序列是JSON的一個定義的部分,它立即可用。該數組需要對服務器上的客戶端*和*進行特殊處理,並且要記住,在JSON中的特殊位置,數組並不意味着是一個數組,而是一種區分*真正*字符串數組的方式應該加入。從一開始就模仿JSON中內置的效果非常麻煩。 – Tomalak 2010-05-16 15:07:05

+0

如果人類創造的JSON,然後我的解決辦法是更直觀。但是,如果它僅用於在兩個自動用戶之間傳輸數據,那麼最好使用'\ n'。 – Eric 2010-05-16 15:25:22

+0

如果創建人類,則在文本編輯器中進行搜索和替換。 ;) – Tomalak 2010-05-16 18:28:29

1

你的PHP標記這一點,所以假設你使用PHP,你應該能夠證明它的工作原理使用類似的東西:

$html_string = "<b>Hello, world!</b>\n<i>It's a beautiful day...</i>"; 
$json = json_encode(array('html' => $html_string)); 

現在,你也提到在你的JSON響應中包括Javascript。這可能會更麻煩一點。根據您在頁面中放置HTML內容的方式(在此盲目假設您使用的是Ajax),您可能需要採取特殊步驟來執行JavaScript。請查閱您的ajax圖書館的文檔以獲取更多信息。

+0

應該使用XML來代替Javascript嗎? – user310291 2010-05-16 17:19:24

+0

這個問題沒有意義。你能改說嗎? – Charles 2010-05-17 17:55:28

相關問題