java - 如何转义 JSON 字符串中日期时间值内的冒号

标签 java json datetime

我需要使用从外部源接收到的字符串实例化一个 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/

相关文章:

c# - 如何在代码中写入 JSON 字符串值?

iphone - 如何使用 json 解析将选定的图像发布到 Web 链接

c# - 可以在文件名或扩展名中使用的 DateTime.ToString() 格式?

java - 如何将文本值从 ViewHolder 发送到 ItemTouchHelper 类?

java - 是否有简单的 http 服务来检查域名可用性

java - 实现接口(interface)的类和那个接口(interface)之间有什么关系吗?

javascript - ajax函数后访问对象

PHP 日期格式、删除时间等

ruby-on-rails - 如何在数据库中存储重复出现的时间段?像 "from the first of january to the last day of may"吗?

java - 如何在 Java 中异步使用 Akka Futures