JSON 值中的空白 space
Blank space in JSON Value
我得到一个 JSON
格式的字符串,我尝试获取值。我的方法工作正常,但如果该值中有一个空白 space,我的方法就会崩溃并且会出现异常。下面是我的代码:
private String getValue(String jsonval)
{
try
{
JSONObject jsonObject = new JSONObject(jsonval);
return jsonObject.optString("id");
}
catch(JSONException e)
{
e.printStackTrace();
}
return null;
}
虽然这个字符串工作正常:{titleDE=Deutschland, id=10, titleEN=Germany}
这个有问题:{titleDE=Costa Rica, id=10, titleEN=Costa Rica}
异常表明空白 space 是一个未终止的对象。
尝试以下方法JSON
:
{"titleDE"="Costa Rica", "id"=10, "titleEN"="Costa Rica"}
你的问题是 String
要么是一串没有空格的字符(不好的做法),要么是一串位于 "
和 "
之间的字符。如果您想在 String
中使用 "
,请使用最常见的转义字符 \
.
例子:
"Deutchland"
, "Costa Rica"
, "He said \"whatever\" "
.
整数值可以不带引号,但最好将它们加引号,然后将这些字符串转换为正确的数字类型。当您从 JSON
转换为 10
时,一些自动解析器会将其转换为 int
,而另一些则会转换为 long
。为此,还是自己投吧。
发送 JSON 字符串中的键和值,并用双引号括起来。像这样 - "key"="string"
.
{"titleDE"="Deutschland", "id"=10, "titleEN"="Germany"}
{"titleDE"="Costa Rica", "id"=10, "titleEN"="Costa Rica"}
同时观察 key 和 = 或 = 和 value 之间没有空格 space。 Integer/boolean 值可以不带引号。
工作:
使用:
{
"titleDE": "CostaRica",
"id": 10,
"titleEN": "Costa Rica"
}
Space 可以在那里。没有任何问题。只需使用 : 而不是 =
尝试以下 JSON :
{titleDE:"Costa Rica", id:10, titleEN:"Costa Rica"}
你可以在http://jsonviewer.stack.hu/中输入任何json并验证它。
\u200B可以加在字符串"lets say \u200B this is string added here "--->这个unicode(\u200B a)会被忽略空space加在say[=15之间=]和这个
我得到一个 JSON
格式的字符串,我尝试获取值。我的方法工作正常,但如果该值中有一个空白 space,我的方法就会崩溃并且会出现异常。下面是我的代码:
private String getValue(String jsonval)
{
try
{
JSONObject jsonObject = new JSONObject(jsonval);
return jsonObject.optString("id");
}
catch(JSONException e)
{
e.printStackTrace();
}
return null;
}
虽然这个字符串工作正常:{titleDE=Deutschland, id=10, titleEN=Germany}
这个有问题:{titleDE=Costa Rica, id=10, titleEN=Costa Rica}
异常表明空白 space 是一个未终止的对象。
尝试以下方法JSON
:
{"titleDE"="Costa Rica", "id"=10, "titleEN"="Costa Rica"}
你的问题是 String
要么是一串没有空格的字符(不好的做法),要么是一串位于 "
和 "
之间的字符。如果您想在 String
中使用 "
,请使用最常见的转义字符 \
.
例子:
"Deutchland"
, "Costa Rica"
, "He said \"whatever\" "
.
整数值可以不带引号,但最好将它们加引号,然后将这些字符串转换为正确的数字类型。当您从 JSON
转换为 10
时,一些自动解析器会将其转换为 int
,而另一些则会转换为 long
。为此,还是自己投吧。
发送 JSON 字符串中的键和值,并用双引号括起来。像这样 - "key"="string"
.
{"titleDE"="Deutschland", "id"=10, "titleEN"="Germany"}
{"titleDE"="Costa Rica", "id"=10, "titleEN"="Costa Rica"}
同时观察 key 和 = 或 = 和 value 之间没有空格 space。 Integer/boolean 值可以不带引号。
工作:
使用:
{ "titleDE": "CostaRica", "id": 10, "titleEN": "Costa Rica" }
Space 可以在那里。没有任何问题。只需使用 : 而不是 =
尝试以下 JSON :
{titleDE:"Costa Rica", id:10, titleEN:"Costa Rica"}
你可以在http://jsonviewer.stack.hu/中输入任何json并验证它。
\u200B可以加在字符串"lets say \u200B this is string added here "--->这个unicode(\u200B a)会被忽略空space加在say[=15之间=]和这个