如何在JSON字符串中的datetime值内转义冒号

use*_*664 5 java datetime json

我需要使用从外部源接收的字符串来实例化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();
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

org.json.JSONException: Expected a ',' or '}' at 23 [character 24 line 1]
Run Code Online (Sandbox Code Playgroud)

有没有遇到过这个?有没有办法逃脱结肠?

wil*_*est 5

如果您用双引号引起来的日期/时间对象,它应该接受它。

这应该有效:

String jsonStr = "{\"sDate\":\"2013-06-15T09:30:09+0000\"}";
Run Code Online (Sandbox Code Playgroud)