背景:系統A調用了B系統的接口,原代碼:
JSONObject.parseObject(data, 實體.class);
data的格式:{
"name":“111”;
“type”: "1"
}
實體class{
name;
type;
get/setxx
}
後來B系統的返回參數變化成:既帶有實體,也帶有屬性。
{
result :{
"name":“111”;
“type”: "1"
},
"sign": “sssssss”
}
新定義實體:
實體class{
result;---------對象類,包含name,type
sign
get/setxx
}
報錯:JSONException: syntax error, expect {, actual string, pos 0, fastjso 無法解析。
解決方法:
-
JSONObject data=JSON.parseObject(data);
-
Result result =JSON.parseObject(data.getString("result"));
String sign = JSON.parseObject(data.getString("sign "));
參考鏈接: