我需要使用从外部源接收的字符串来实例化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]
有没有人遇到过这个?有没有办法逃脱结肠?
答案 0 :(得分:2)
如果用双引号括住日期/时间对象,它应该接受它。
这应该有效:
String jsonStr = "{\"sDate\":\"2013-06-15T09:30:09+0000\"}";
答案 1 :(得分:2)
答案 2 :(得分:0)
更有趣的问题是字符串未知的情况。如果格式已知,那么它很容易修复。作为org.json here的实用程序添加。