【发布时间】:2019-08-02 16:17:52
【问题描述】:
我是 Spring Boot 和 json 的新手,如果有一个愚蠢的问题,请原谅我。我正在尝试读取我的 json 文件,将其转换为 JSONObject,然后
将此转换为JSONArray。我已经注释掉了这两行
这是因为我尝试从读取文件到数组。我的
JSON 文件以 [ 开头,所以我不确定为什么会收到此错误。
线程“主”org.json.JSONException 中的异常:JSONArray 文本 必须以 '[' 在 1 [字符 2 第 1 行] 开始
InputStream inputStream = TypeReference.class.getResourceAsStream("/json/req.json");
List<PIECase> allCases = new ArrayList<PIECase>();
InputStream rawJson = inputStream;
//JSONObject jsonObject = new JSONObject(rawJson);
//JSONArray jsonArray = jsonObject.getJSONArray("PIECases");
JSONArray jsonArray = new JSONArray(rawJson.toString());
for(int i =0; i < jsonArray.length(); i++) {
//the JSON data we get back from array as a json object
JSONObject jsonPIECases = jsonArray.getJSONObject(i);
// more code
}
req.json
[
{
"PIECases": {
"PIECases": [
{
"Case_ID": "1",
"SortCode": "123456",
"AccountNumber": "12345678",
"Amount": "50",
"DateOfPayment": "2019-07-29"
},
{
"Case_ID": "2",
"SortCode": "123456",
"AccountNumber": "12345678",
"Amount": "50",
"DateOfPayment": "2019-07-29"
}
]
}
}
]
【问题讨论】:
-
包括你的堆栈跟踪
-
请注意,Spring Boot 将包括开箱即用的透明 JSON 支持,因此您无需执行任何此操作,只需定义映射数据的 Java 类并将它们用作方法参数即可。跨度>
标签: java json spring spring-boot