Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSON错误消息_Java_Json - Fatal编程技术网

Java JSON错误消息

Java JSON错误消息,java,json,Java,Json,我编写了这个JSON代码 public class TestClass { public static void main(String[] args) { String inputJson= "{" +"\"contexts\" : { "+ "{ " + "\"times\" : { " + "{ " + "\"end\":17, " + "\"begin\" : 9 " + "}" + "}," + "\"contextname\":\"OFFICE_

我编写了这个JSON代码

public class TestClass {

    public static void main(String[] args) {
        String inputJson= "{" +"\"contexts\" : {  "+ "{ " + "\"times\" : { " + "{  " + "\"end\":17, " + "\"begin\" : 9 " +  "}" + "}," +    "\"contextname\":\"OFFICE_HOURS\" " +   "}," + "{ " + "\"days\": { " + "\"MON\", " +    "\"TUE\", " + "\"WED\" , " + "\"THU\", " +  "\"FRI\" " +    "} , " + "\"contextname\" : \"WORKDAYS\" " +    "}";
        ObjectMapper mapper= new ObjectMapper();
        mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);

        try {

            MainParser mp= mapper.readValue(inputJson, MainParser.class);

            System.out.println(mp.getContextname());
        }
但是我在控制台里发现了这个错误

org.codehaus.jackson.JsonParseException: Unexpected character ('{' (code 123)): was expecting double-quote to start field name
 at [Source: java.io.StringReader@7cf10a6f; line: 1, column: 19]

我需要帮助,请

格式化您的JSON时如下所示:

{
  "contexts": {
    {
      "times": {
        {
          "end": 17,
          "begin": 9
        }
      },
      "contextname": "OFFICE_HOURS"
    },
    {
      "days": {
        "MON",
        "TUE",
        "WED",
        "THU",
        "FRI"
      },
      "contextname": "WORKDAYS"
    }
由于多种原因,这是无效的

您可以通过将“contexts”的内容替换为一个数组、将日期包装在一个数组中并删除一些额外的花括号来使其有效

{
  "contexts": [
    {
      "times": {
        "end": 17,
        "begin": 9
      },
      "contextname": "OFFICE_HOURS"
    },
    {
      "days": [
        "MON",
        "TUE",
        "WED",
        "THU",
        "FRI"
      ],
      "contextname": "WORKDAYS"
    }
  ]
}
更好的方法可能是使用“contextname”值作为键,并简化整个JSON

{
  "OFFICE_HOURS": {
    "end": 17,
    "begin": 9
  },
  "WORKDAYS": [
    "MON",
    "TUE",
    "WED",
    "THU",
    "FRI"
  ]
}

格式化JSON时,如下所示:

{
  "contexts": {
    {
      "times": {
        {
          "end": 17,
          "begin": 9
        }
      },
      "contextname": "OFFICE_HOURS"
    },
    {
      "days": {
        "MON",
        "TUE",
        "WED",
        "THU",
        "FRI"
      },
      "contextname": "WORKDAYS"
    }
由于多种原因,这是无效的

您可以通过将“contexts”的内容替换为一个数组、将日期包装在一个数组中并删除一些额外的花括号来使其有效

{
  "contexts": [
    {
      "times": {
        "end": 17,
        "begin": 9
      },
      "contextname": "OFFICE_HOURS"
    },
    {
      "days": [
        "MON",
        "TUE",
        "WED",
        "THU",
        "FRI"
      ],
      "contextname": "WORKDAYS"
    }
  ]
}
更好的方法可能是使用“contextname”值作为键,并简化整个JSON

{
  "OFFICE_HOURS": {
    "end": 17,
    "begin": 9
  },
  "WORKDAYS": [
    "MON",
    "TUE",
    "WED",
    "THU",
    "FRI"
  ]
}

以下是代码中的Json字符串。它不是正确的json格式

{“上下文”:{“时间”:{{“结束”:17,“开始”:9},“上下文名称”:“办公时间”},{“天”:{“周一”、“周二”、“周三”、“周四”、“周五”},“上下文名称”:“工作日”}


尝试修复json字符串格式并再次运行代码。

以下是符合代码的json字符串。它不是正确的json格式

{“上下文”:{“时间”:{{“结束”:17,“开始”:9},“上下文名称”:“办公时间”},{“天”:{“周一”、“周二”、“周三”、“周四”、“周五”},“上下文名称”:“工作日”}


尝试修复json字符串格式并再次运行代码。

您尝试使用串联构造json字符串,当您尝试使用它时,会收到一条错误消息,告诉您有语法错误,并告诉您它在字符串中的确切位置。下一步是输出构造的字符串(例如,使用println或使用调试器检查它),并搜索语法错误。您希望看到什么
{“context”:{{
要做什么?为什么要使用所有字符串连接?但是为什么要将json分割,然后用“+”连接?如果删除所有连接,您将看到json格式不正确。您尝试使用连接构造json字符串,当您尝试使用它时,会收到一条错误消息,告诉您re是一个语法错误,它会准确地告诉您它在字符串中的位置。下一步是输出构造的字符串(例如,使用println或使用调试器检查),并搜索语法错误。您希望看到什么
{“context”:{{
要做什么?为什么所有的字符串串接?但是为什么要将json分割,然后用“+”串接?如果删除所有串接,您将看到json格式不正确。