刚刚开始,所以任何促进赞赏。 有一个对象它序列化到该起始段:json反序列化
[{ “boo00”:真 “LINEITEM”:[{ “bool00”:真, “显示”:假 “extra00”: “的objectType” “状态”: “”, “值”: “RECORDTYPE:A”}, { “bool00”:真, “显示”:假 “extra00”: “0”, “状态”: “”,“值“:” UPC:1 “},{...},{...}],” ROWID “:0”,str00 “:” 隐藏的“},
该对象具有四个要素:boo00
(布尔值),lineIem
(ArrayList),rowID
(int),str00
(String)
我有这个细分市场,我想了解如何构建回我的对象
String flatten = lines.toString();
JSONObject outer = JSONObject.fromObject(flatten);
Iterator itr04 = null;
for(itr04 = outer.entrySet().iterator(); itr04.hasNext();){
Map.Entry entry = (Map.Entry) itr04.next();
String key = (String)entry.getKey();
System.out.println("key= "+key);
}
我得到以下异常:
“net.sf.json.JSONException:一个JSONObject文本必须在[]的第1个字符处以'{'开始“
在这一点上对我来说没什么意义,因为这正是它的起始方式。
谢谢。如果我能跟进到这里去。如何获得下一个“块”? JSONArray.size()显示了我的对象类型的三个元素。现在,因为我知道结构如何递归地解析每个结构?在这种情况下,我有一个对象包含一些基元和一个ArrayList,那么如何将它作为一个单独的块并解析并迭代列表? –
@cp - 如果你知道你有一个JSONArray,你可以迭代它并提取每个元素。如果你知道每个元素都是JSONObject,那么你可以投射到那个。如果你不确定,在投射之前使用'instanceof'来测试数组元素的类型。 –