ERROR [STDERR] net.sf.json.JSONException: java.lang.NoSuchMethodException: Unknown property
场景
在接收上游能力平台的JSOS数据时, 需要用到将Json转换成JavaBean. 对于包含object和各种数组的结构时, 就习惯用内部类来映射. 但转换成JavaBean时报错, 大概如下:
net.sf.json.JSONException: java.lang.NoSuchMethodException: Property 'item' has no setter method in class 'class org.research.json.Student' at net.sf.json.util.PropertySetStrategy$DefaultPropertySetStrategy._setProperty(PropertySetStrategy.java:69)
检查代码 , 检查编译文件 , 找了一圈都没发现问题. 从度娘上看到说, 可能是自带的 net.sf.json的兼容性不够好, 转换时容易出问题. 换Gson 或者 fastJosn看看.
结果换成阿里的fastJson就没问题了.
记录一下,防止下次踩坑.