2016-07-22 107 views
0

我們當然可以在Strings.xml中定義字符串&調用 - 在這種情況下換行不是問題。導致錯誤的字符串換行

但是假設我希望把它放在我的Java頁 - 如果我把它放在如下 - 它會帶來錯誤

String strJson=" 
     { 
     \"Employee\" :[ 
     { 
      \"id\":\"01\", 
      \"name\":\"Gopal Varma\", 
      \"salary\":\"500000\" 
     }, 
     { 
      \"id\":\"02\", 
      \"name\":\"Sairamkrishna\", 
      \"salary\":\"500000\" 
     }, 
     { 
      \"id\":\"03\", 
      \"name\":\"Sathish kallakuri\", 
      \"salary\":\"600000\" 
     } 
     ] 
     }"; 

我可以使它在一個單行修復錯誤

String strJson=" { \"Employee\" :[ { \"id\":\"01\",\"name\":\"Gopal Varma\",\"salary\":\"500000\"},{\"id\":\"02\",\"name\":\"Sairamkrishna\",\"salary\":\"500000\"}, { \"id\":\"03\", \"name\":\"Sathish kallakuri\", \"salary\":\"600000\" } ] }"; 

但我想知道,而不是有任何轉義字符或東西來解決這個錯誤。

+0

使用'「」'單倒逗號,你可以修復它.. –

+0

拿什麼「把它放在我的java頁面「 – Jens

+0

如果您像這樣在多行中編寫JSON,則需要對每行進行concatane(一個字符串在一行中)。你不能在多行上寫一個字符串。 – AxelH

回答

3

Java字符串文字不能跨越多行,但您可以執行此操作。

String strJson = "{\n" + 
       " \"Employee\" :[\n" + 
       " {\n" + 
       "  \"id\":\"01\",\n" + 
       "  \"name\":\"Gopal Varma\",\n" + 
       "  \"salary\":\"500000\"\n" + 
       " }\n" + 
       " ]\n" + 
       "}"; 
+0

是的,分割線和連接+符號是唯一的方法... \ n只有當你真的想要保持格式化,否則離開它。這裏是一個json字符串,我不需要任何格式化 - 我想要的只是更好的可讀性 –

+0

而且,編譯器將在構建時連接字符串,因爲所有字符串在構建時都是已知的。 – Stijnster

+0

請注意--------在Strings.xml中定義總是更好。字符串連接方法的問題是 - 資源密集 - 最好不要使用它:-) –

0

您需要正確轉義字符串,

試試這個,

String strJson = "{" + 
     "\"Employee\": [{" + 
      "\"id\": \"01\"," + 
      "\"name\": \"Gopal Varma\"," + 
      "\"salary\": \"500000\"" + 
     "}, {" + 
      "\"id\": \"02\"," + 
      "\"name\": \"Sairamkrishna\"," + 
      "\"salary\": \"500000\"" + 
     "}, {" + 
      "\"id\": \"03\"," + 
      "\"name\": \"Sathish kallakuri\"," + 
      "\"salary\": \"600000\"" + 
     "}]" + 
     "}"; 
相關問題