2016-07-22 101 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\"" + 
     "}]" + 
     "}"; 
相关问题