我需要使用从外部源接收到的字符串实例化一个 JSONObject。该字符串包含一个日期时间值,该值又包含一个冒号。 当我尝试创建 JSONObject 的实例时,出现错误,似乎 JSON 不喜欢日期时间值中间的冒号。
这是一个代码片段:
@Test
public void testGetDate()
{
String jsonStr = "{\"sDate\":2013-06-15T09:30:09+0000}";
try
{
JSONObject jsonObject = new JSONObject(jsonStr);
System.out.println(jsonObject.get("sDate"));
} catch (JSONException e)
{
e.printStackTrace();
}
}
我得到的错误是:
org.json.JSONException: Expected a ',' or '}' at 23 [character 24 line 1]
有人遇到过吗?有什么办法可以逃脱结肠吗?
最佳答案
如果您用双引号将日期/时间对象括起来,它应该接受它。
这应该有效:
String jsonStr = "{\"sDate\":\"2013-06-15T09:30:09+0000\"}";
关于java - 如何转义 JSON 字符串中日期时间值内的冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17050807/