1

刚开始,任何便利都值得赞赏。让一个对象将其序列化到这个起始段:

[{"boo00":true,"lineItem":[{"bool00":true,"display":false,"extra00":"objectType","status":"","value":"recordType:A" }, {"bool00":true,"display":false,"extra00":"0","status":"","value":"UPC:1"},{...},{.. .}],"rowId":0,"str00":"hidden"},

该对象有四个元素:boo00(boolean)、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 处以 '{' 开头”

在这一点上,这对我来说意义不大,因为这正是它的开始方式。

4

2 回答 2

3

您的 JSON 文本以方括号: 开头[,而不是花括号: {。JSON 字符串表示一个对象数组

outer应该是一个JSONArray.

于 2012-09-15T02:14:10.710 回答
0

由于 Java JSON 的东西有点脑残,你可以做的一件事就是将“[”和“]”连接到字符串的前面和结尾。然后您可以随时使用 JSONArray 读取字符串,然后instanceof对每个数组元素执行操作以找出您拥有的内容。

于 2012-09-15T02:21:37.180 回答