org.json.JSONException:JSONArray[0]不是JSONObject-Java
您好,我正在尝试读取和解析一个JSON文件,当我尝试读取它时,得到了异常=org.JSON.JSONException:JSONArray[0]不是JSONObject。为了举例,JSON被缩短了。将提供我的代码、json和所需的输出 代码: 通缉令org.json.JSONException:JSONArray[0]不是JSONObject-Java,java,arrays,json,Java,Arrays,Json,您好,我正在尝试读取和解析一个JSON文件,当我尝试读取它时,得到了异常=org.JSON.JSONException:JSONArray[0]不是JSONObject。为了举例,JSON被缩短了。将提供我的代码、json和所需的输出 代码: 通缉令 1.03 任何帮助都将不胜感激。如果您再次检查json,您将注意到数组中有数组,然后是对象。 [{}]] 试试这个输入,[{}] [{appId:MBSP,askPrice:0,bidPrice:0,collectionDataSource:E
1.03
任何帮助都将不胜感激。如果您再次检查json,您将注意到数组中有数组,然后是对象。 [{}]] 试试这个输入,[{}] [{appId:MBSP,askPrice:0,bidPrice:0,collectionDataSource:ExternalTick,collectionName:FRM_MBS_TBA_FN_15Y_0.03_FWD0,collectionObservationTime:2020-09-21T17:47:59.703Z,collectionType:LIVE,优惠券:1.03,createdBy:Test,createdOn:2020-09-21T17:47:59.703Z,createdOnDate:0,forward:0,issuingAgency:FF,LastUpdate:2020-09-21T17:59.5903Z,lastUpdatedBy:string,lastUpdatedDate:0,到期日:,中间价:0,mtaVersionNumber:0,结算日期:2020-09-21T17:47:59.703Z}] 另一种方法是在代码中处理访问 获取json对象的json数组
谢谢,我希望这对您有所帮助。您的JSON输入似乎无效: 否[…] 成熟度:,可能不是有效的json节点 代码字符串优惠券=jsonobject.getStringToucon;不正确 解决方案: 更新JSON输入,如。[…] 将到期日更新为有效的偶数值为空/空 将代码更改为字符串优惠券=jsonobject.getStringToucon;
有效的JSON应该是:
[
{
"appId": "MBSP",
"askPrice": 0,
"bidPrice": 0,
"collectionDataSource": "ExternalTick",
"collectionName": "FRM_MBS_TBA_FN_15Y_0.03_FWD0",
"collectionObservationTime": "2020-09-21T17:47:59.703Z",
"collectionType": "LIVE",
"coupon": 1.03,
"createdBy": "Test",
"createdOn": "2020-09-21T17:47:59.703Z",
"createdOnDate": 0,
"forward": 0,
"issuingAgency": "FF",
"lastUpdated": "2020-09-21T17:47:59.703Z",
"lastUpdatedBy": "string",
"lastUpdatedDate": 0,
"maturity": 0,
"midPrice":0 ,
"mtaVersionNumber": 0,
"settlementDate": "2020-09-21T17:47:59.703Z"
}
]
同时更新代码:
public class Sample {
public static void main(String[] args) {
String json = "[{\n" +
" \"appId\": \"MBSP\",\n" +
" \"askPrice\": 0,\n" +
" \"bidPrice\": 0,\n" +
" \"collectionDataSource\": \"ExternalTick\",\n" +
" \"collectionName\": \"FRM_MBS_TBA_FN_15Y_0.03_FWD0\",\n" +
" \"collectionObservationTime\": \"2020-09-21T17:47:59.703Z\",\n" +
" \"collectionType\": \"LIVE\",\n" +
" \"coupon\": 1.03,\n" +
" \"createdBy\": \"Test\",\n" +
" \"createdOn\": \"2020-09-21T17:47:59.703Z\",\n" +
" \"createdOnDate\": 0,\n" +
" \"forward\": 0,\n" +
" \"issuingAgency\": \"FF\",\n" +
" \"lastUpdated\": \"2020-09-21T17:47:59.703Z\",\n" +
" \"lastUpdatedBy\": \"string\",\n" +
" \"lastUpdatedDate\": 0,\n" +
" \"maturity\": 0,\n" +
" \"midPrice\": 0,\n" +
" \"mtaVersionNumber\": 0,\n" +
" \"settlementDate\": \"2020-09-21T17:47:59.703Z\"\n" +
"}]";
JSONArray jsonObj = new JSONArray(json);
for (int i = 0; i < jsonObj.length(); i++) {
JSONObject jsonobject = jsonObj.getJSONObject(i);
double Coupon = jsonobject.getDouble("coupon");
System.out.println(Coupon);
}
}
}
[
{
"appId": "MBSP",
"askPrice": 0,
"bidPrice": 0,
"collectionDataSource": "ExternalTick",
"collectionName": "FRM_MBS_TBA_FN_15Y_0.03_FWD0",
"collectionObservationTime": "2020-09-21T17:47:59.703Z",
"collectionType": "LIVE",
"coupon": 1.03,
"createdBy": "Test",
"createdOn": "2020-09-21T17:47:59.703Z",
"createdOnDate": 0,
"forward": 0,
"issuingAgency": "FF",
"lastUpdated": "2020-09-21T17:47:59.703Z",
"lastUpdatedBy": "string",
"lastUpdatedDate": 0,
"maturity": 0,
"midPrice":0 ,
"mtaVersionNumber": 0,
"settlementDate": "2020-09-21T17:47:59.703Z"
}
]
public class Sample {
public static void main(String[] args) {
String json = "[{\n" +
" \"appId\": \"MBSP\",\n" +
" \"askPrice\": 0,\n" +
" \"bidPrice\": 0,\n" +
" \"collectionDataSource\": \"ExternalTick\",\n" +
" \"collectionName\": \"FRM_MBS_TBA_FN_15Y_0.03_FWD0\",\n" +
" \"collectionObservationTime\": \"2020-09-21T17:47:59.703Z\",\n" +
" \"collectionType\": \"LIVE\",\n" +
" \"coupon\": 1.03,\n" +
" \"createdBy\": \"Test\",\n" +
" \"createdOn\": \"2020-09-21T17:47:59.703Z\",\n" +
" \"createdOnDate\": 0,\n" +
" \"forward\": 0,\n" +
" \"issuingAgency\": \"FF\",\n" +
" \"lastUpdated\": \"2020-09-21T17:47:59.703Z\",\n" +
" \"lastUpdatedBy\": \"string\",\n" +
" \"lastUpdatedDate\": 0,\n" +
" \"maturity\": 0,\n" +
" \"midPrice\": 0,\n" +
" \"mtaVersionNumber\": 0,\n" +
" \"settlementDate\": \"2020-09-21T17:47:59.703Z\"\n" +
"}]";
JSONArray jsonObj = new JSONArray(json);
for (int i = 0; i < jsonObj.length(); i++) {
JSONObject jsonobject = jsonObj.getJSONObject(i);
double Coupon = jsonobject.getDouble("coupon");
System.out.println(Coupon);
}
}
}
1.03