javascript
JSONObject toJSONString错误
1. ?com.alibaba.fastjson.JSONObject 繼承了JSON,可以使用其2個重要的方法:
Model model = new Model();
String json = JSONObject.toJSONString(model); // serializes model to Json
Model model2 = JSONObject.parseObject(json, Model.class); // deserializes json into model2
即可以將json字符串轉為json對象,如果該json對象的內容是可預期的對象類型,那么可以通過Model model2 = JSONObject.parseObject(json, Model.class); 取得預期的對象;
如果是不可預期的json字符串時,但有固定的key,則可通過JSONObject jsonObject = JSONObject.parseObject(jsonStr);
然后通過 jsonObject.getString("key");等基本方法獲取key對于的value.
2. 但是,在使用時,需要注意的地方,并非所有的對象,都能通過JSONObject.toJSONString(model) 轉換成功。
例如:在接入阿里語音驗證碼時,對SingleCallByTtsRequest請求對象使用以上方法時,就會轉換報錯。
SingleCallByTtsRequest extends RpcAcsRequest<SingleCallByTtsResponse>
?
RpcAcsRequest<T extends AcsResponse> extends AcsRequest<T>
?
SingleCallByTtsResponse extends AcsResponse
?
他們的繼承關系如上,這里并未對錯誤原因進行深入分析,猜測是因為其中有相互引用導致解析轉換失敗。
3. 默認過濾掉值為null的key
public static String toJSONString(Object object):
該方法將實體對象轉換成Json字符串時默認忽略值為null的屬性。
public static String toJSONString(Object object, SerializerFeature… features):
該方法將實體對象轉換成Json字符串時,如果不傳遞參數SerializerFeature.WriteMapNullValue,則忽略值為null的屬性。
?
————————————————
版權聲明:本文為CSDN博主「陌下微塵」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_33045443/article/details/90059429
總結
以上是生活随笔為你收集整理的JSONObject toJSONString错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 翘首的意思及成语解释(翘首的意思)
- 下一篇: 吴思瑶这个名字怎么样(吴思瑶)