我是靠谱客的博主 斯文黑米,最近开发中收集的这篇文章主要介绍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错误的全部内容,希望文章能够帮你解决JSONObject toJSONString错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部