我在封装数据时候报了net.sf.json.JSONException: beanClass is an interface. interface java.util.List错误
这是我要转换的JSON数据[{
    "title": "请假流程",
    "nodes": {
        "demo_node_1": {
            "name": "矫正人员",
            "left": 526,
            "top": 0,
            "type": "start round",
            "width": 24,
            "height": 24,
            "alt": true
        },
        "demo_node_2": {
            "name": "提交申请",
            "left": 492,
            "top": 62,
            "type": "state",
            "width": 100,
            "height": 24,
            "alt": true
        },
        "demo_node_3": {
            "name": "管理员审批",
            "left": 492,
            "top": 127,
            "type": "fork",
            "width": 100,
            "height": 24,
            "alt": true
        },
        "demo_node_4": {
            "name": "同意申请",
            "left": 727,
            "top": 126,
            "type": "node",
            "width": 100,
            "height": 24,
            "alt": true
        },
        "demo_node_5": {
            "name": "拒绝申请",
            "left": 280,
            "top": 130,
            "type": "node",
            "width": 100,
            "height": 24,
            "alt": true
        },
        "demo_node_6": {
            "name": "上报申请",
            "left": 494,
            "top": 205,
            "type": "state",
            "width": 100,
            "height": 31,
            "alt": true
        },
        "demo_node_7": {
            "name": "同意申请",
            "left": 372,
            "top": 321,
            "type": "node",
            "width": 100,
            "height": 24,
            "alt": true
        },
        "demo_node_8": {
            "name": "拒绝申请",
            "left": 633,
            "top": 316,
            "type": "state",
            "width": 100,
            "height": 24,
            "alt": true
        }
    },
    "lines": {
        "demo_line_1": {
            "type": "sl",
            "M": null,
            "from": "demo_node_1",
            "to": "demo_node_2",
            "name": "null"
        },
        "demo_line_2": {
            "type": "sl",
            "M": null,
            "from": "demo_node_2",
            "to": "demo_node_3",
            "name": "null"
        },
        "demo_line_3": {
            "type": "sl",
            "M": null,
            "from": "demo_node_3",
            "to": "demo_node_4",
            "name": "null"
        },
        "demo_line_4": {
            "type": "sl",
            "M": null,
            "from": "demo_node_3",
            "to": "demo_node_5",
            "name": "null"
        },
        "demo_line_5": {
            "type": "sl",
            "M": null,
            "from": "demo_node_3",
            "to": "demo_node_6",
            "name": "null"
        },
        "demo_line_6": {
            "type": "sl",
            "M": 426,
            "from": "demo_node_6",
            "to": "demo_node_7",
            "name": "null"
        },
        "demo_line_7": {
            "type": "sl",
            "M": 668.5,
            "from": "demo_node_6",
            "to": "demo_node_8",
            "name": "null"
        }
    },
    "areas": {
        
    },
    "initNum": 27
}
这个是我的实体类
package gdzly.entity;import java.util.List;public class Gooflow {
private Integer id;
    private String title;
    private Integer initnum;
    private List<Noode> nodes;
    private List<Line> lines;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getInitnum() {
return initnum;
}
public void setInitnum(Integer initnum) {
this.initnum = initnum;
}
public List<Noode> getNodes() {
return nodes;
}
public void setNodes(List<Noode> nodes) {
this.nodes = nodes;
}
public List<Line> getLines() {
return lines;
}
public void setLines(List<Line> lines) {
this.lines = lines;
}
public Gooflow(Integer id, String title, Integer initnum,
List<Noode> nodes, List<Line> lines) {
super();
this.id = id;
this.title = title;
this.initnum = initnum;
this.nodes = nodes;
this.lines = lines;
}
public Gooflow() {
super();
// TODO Auto-generated constructor stub
}

    
}这个是我的转换代码 String goo = request.getParameter("result");
JSONObject json = JSONObject.fromObject(goo);
Gooflow g = (Gooflow)JSONObject.toBean(json,Gooflow.class);
System.out.println(g);
System.out.println(goo);
return true;是不是不能直接这样封?

解决方案 »

  1.   

    List 应该不能直接转,可以先把List的数据存储成JsonArray 再遍历JsonArray 逐个对象转换放在List中
      

  2.   

    []这样的格式才能转化成List
      

  3.   

    [{
        "title": "请假流程",
        "nodes": {
            "demo_node_1": [{
                "name": "矫正人员",
                "left": 526,
                "top": 0,
                "type": "start round",
                "width": 24,
                "height": 24,
                "alt": true
            },
            "demo_node_2": {
                "name": "提交申请",
                "left": 492,
                "top": 62,
                "type": "state",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_3": {
                "name": "管理员审批",
                "left": 492,
                "top": 127,
                "type": "fork",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_4": {
                "name": "同意申请",
                "left": 727,
                "top": 126,
                "type": "node",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_5": {
                "name": "拒绝申请",
                "left": 280,
                "top": 130,
                "type": "node",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_6": {
                "name": "上报申请",
                "left": 494,
                "top": 205,
                "type": "state",
                "width": 100,
                "height": 31,
                "alt": true
            },
            "demo_node_7": {
                "name": "同意申请",
                "left": 372,
                "top": 321,
                "type": "node",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_8": {
                "name": "拒绝申请",
                "left": 633,
                "top": 316,
                "type": "state",
                "width": 100,
                "height": 24,
                "alt": true
            }
        }],
        "lines": [{
            "demo_line_1": {
                "type": "sl",
                "M": null,
                "from": "demo_node_1",
                "to": "demo_node_2",
                "name": "null"
            },
            "demo_line_2": {
                "type": "sl",
                "M": null,
                "from": "demo_node_2",
                "to": "demo_node_3",
                "name": "null"
            },
            "demo_line_3": {
                "type": "sl",
                "M": null,
                "from": "demo_node_3",
                "to": "demo_node_4",
                "name": "null"
            },
            "demo_line_4": {
                "type": "sl",
                "M": null,
                "from": "demo_node_3",
                "to": "demo_node_5",
                "name": "null"
            },
            "demo_line_5": {
                "type": "sl",
                "M": null,
                "from": "demo_node_3",
                "to": "demo_node_6",
                "name": "null"
            },
            "demo_line_6": {
                "type": "sl",
                "M": 426,
                "from": "demo_node_6",
                "to": "demo_node_7",
                "name": "null"
            },
            "demo_line_7": {
                "type": "sl",
                "M": 668.5,
                "from": "demo_node_6",
                "to": "demo_node_8",
                "name": "null"
            }
        }],
        "areas": {
             
        },
        "initNum": 27
    }]
      

  4.   

    Quote: 引用 4 楼 m0_37991646 的回复:

    [{
        "title": "请假流程",
        "nodes": [{
            "demo_node_1": {
                "name": "矫正人员",
                "left": 526,
                "top": 0,
                "type": "start round",
                "width": 24,
                "height": 24,
                "alt": true
            },
            "demo_node_2": {
                "name": "提交申请",
                "left": 492,
                "top": 62,
                "type": "state",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_3": {
                "name": "管理员审批",
                "left": 492,
                "top": 127,
                "type": "fork",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_4": {
                "name": "同意申请",
                "left": 727,
                "top": 126,
                "type": "node",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_5": {
                "name": "拒绝申请",
                "left": 280,
                "top": 130,
                "type": "node",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_6": {
                "name": "上报申请",
                "left": 494,
                "top": 205,
                "type": "state",
                "width": 100,
                "height": 31,
                "alt": true
            },
            "demo_node_7": {
                "name": "同意申请",
                "left": 372,
                "top": 321,
                "type": "node",
                "width": 100,
                "height": 24,
                "alt": true
            },
            "demo_node_8": {
                "name": "拒绝申请",
                "left": 633,
                "top": 316,
                "type": "state",
                "width": 100,
                "height": 24,
                "alt": true
            }
        }],
        "lines": [{
            "demo_line_1": {
                "type": "sl",
                "M": null,
                "from": "demo_node_1",
                "to": "demo_node_2",
                "name": "null"
            },
            "demo_line_2": {
                "type": "sl",
                "M": null,
                "from": "demo_node_2",
                "to": "demo_node_3",
                "name": "null"
            },
            "demo_line_3": {
                "type": "sl",
                "M": null,
                "from": "demo_node_3",
                "to": "demo_node_4",
                "name": "null"
            },
            "demo_line_4": {
                "type": "sl",
                "M": null,
                "from": "demo_node_3",
                "to": "demo_node_5",
                "name": "null"
            },
            "demo_line_5": {
                "type": "sl",
                "M": null,
                "from": "demo_node_3",
                "to": "demo_node_6",
                "name": "null"
            },
            "demo_line_6": {
                "type": "sl",
                "M": 426,
                "from": "demo_node_6",
                "to": "demo_node_7",
                "name": "null"
            },
            "demo_line_7": {
                "type": "sl",
                "M": 668.5,
                "from": "demo_node_6",
                "to": "demo_node_8",
                "name": "null"
            }
        }],
        "areas": {
             
        },
        "initNum": 27
    }]
    上面那个发错了