java - JSON异常 : A JSONObject text must begin with '{' at character

标签 java json spring-mvc

我有一个如下所示的 JSON 对象。当我尝试使用以下方法获取名称的值时:

String name = jsonObject.getJSONObject("result").getString("name");

在Java中

{ 
    "result":
    {
        "name":   "ABC",
        "dob": "12-11-1958",
        "issue_date": "01-11-2011",
        "blood_group": "",
        "father/husband": "BCD",
        "address": "53/9 ASHOK NAGAR,Delhi 110018",
        "cov_details": {
            "LMV": "01-11-2011  DY.DIR.ZONAL OFFICE,NORTH WEST DISTRICT-II,ROHINI",
            "MCWG": "01-11-2011  DY.DIR.ZONAL OFFICE,NORTH WEST DISTRICT-II,ROHINI"
        },
        "validity": {
            "non-transport": "01-11-1958 to 31-10-1978",
            "transport": ""
        } 
    } 
}

它给了我:

org.json.JSONException: A JSONObject text must begin with '{' at character 6 exception.

最佳答案

我相信您不知何故没有加载正确的内容。这是一个使用您发布的输入的小程序:

package org.json;

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    StringBuilder sb = new StringBuilder();
    for (Scanner sc = new Scanner(Main.class.getResourceAsStream("in.json")); sc.hasNext(); ) {
      sb.append(sc.nextLine()).append("\n");
    }

    JSONObject jsonObject = new JSONObject(sb.toString());
    String name = jsonObject.getJSONObject("result").getString("name");
    System.out.println("name=" + name); 
    System.out.println("jsonObject=" + jsonObject); 
  }
}

输出如预期的那样:

name=ABC
jsonObject={"result":{"cov_details":{"MCWG":"01-11-2011  DY.DIR.ZONAL OFFICE,NORTH WEST DISTRICT-II,ROHINI","LMV":"01-11-2011  DY.DIR.ZONAL OFFICE,NORTH WEST DISTRICT-II,ROHINI"},"address":"53/9 ASHOK NAGAR,Delhi 110018","issue_date":"01-11-2011","dob":"12-11-1958","name":"ABC","blood_group":"","validity":{"transport":"","non-transport":"01-11-1958 to 31-10-1978"},"father/husband":"BCD"}}

因此,我认为您在加载/初始化jsonObject 变量指向的对象时遇到了问题。

FTR,我正在使用来自 https://github.com/stleary/JSON-java 的 JSON 库.

关于java - JSON异常 : A JSONObject text must begin with '{' at character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41359982/

相关文章:

java - Wicket - Ajax PropertyListView

java - 删除具有空值的 treeMap 条目

java - SQL、JAVA 从 SQL 输出中删除重复字符串、数组排序

javascript - 根据返回的 json 对象组合数组内的数组 Angular 2

java - 在 SpringMVC 中接受 DateTime (Jodatime) 作为请求方法参数

java - 高流量 XML 解析

javascript - 合并相同的 JSON 元素

javascript - 如何处理奇怪组合的 websocket 消息?

java - ids : java. lang.String 的未知整数数据类型

java - 原型(prototype) Bean 销毁