使用Fastjson解析一段JSON数据,数据中存在对象引用——$ref,自己通过JSONObject的getJSONObject方法获取的却是 空,语法:
getJSONObject("$ref")
说明,在$ref上一层,还有一个schema节点,首先是获取了这个schema节点,然后执行getJSONObject的。
先说说字符串解析为JSON对象,使用的是JSON类中的parseObject,一个参数的版本:
public static JSONObject parseObject(String text)
直接传入我的JSON数据,然后转换。
查看JSON类后发现,parseObject有好几个方法:
或许我要换一个parseObject方法,使用下面的这个版本:
public static JSONObject parseObject(String text, Feature... features)
<b>
末尾,说下我的目的:
1.获取$ref中的文本信息,即类或对象的名称等信息;
2.直接获取引用对象的信息;
</b>
对了,我的数据中的应用对象的值 是以 #开头,是相对于JSON最外层的意思吧?
看了一些文档,引用对象都是以 $开头,没有提到以#开头,,看来自己看的还不够。