新手请教一个json解析问题,求指点。

酸奶瓶盖儿 发布于 2016/06/12 10:29
阅读 551
收藏 0

@wenshao 你好,想跟你请教个问题:

我要把如下格式的json数据存到数据库。新手一个,不太懂。网上找了好对例子,都不是fastjson的例子。请说的详细一点。

"items": [
            {
                "address": "上海上海市浦东新区莲园路100弄17号502",
                "id": "240",
                "mobile": "15721133670",
                "ord_id": "2016052600022",
                "name": "lbb",
                "email": "workspace_jing@hotmail.com",
                "ord_info": "外出服",
                "sn": "C20160530001",
                "duration": "",
                "dev_id": "C20160500021",
                "code": "001",
                "lnglat": "121.54829500000000000,31.18422300000000000",
                "flag": "1"
            },
            {
                "address": "上海上海市浦东新区莲园路100弄17号502",
                "id": "188",
                "mobile": "15721133670",
                "ord_id": "8089",
                "name": "lbb",
                "email": "workspace_jing@hotmail.com",
                "ord_info": "444444",
                "sn": "C20160400217",
                "duration": "540",
                "dev_id": "201602140001",
                "code": "001",
                "lnglat": "121.54829500000000000,31.18422300000000000",
                "flag": "1"
            },
            {
                "address": "上海上海市闵行区漕宝路",
                "id": "206",
                "mobile": "18018603916",
                "ord_id": "3535",
                "name": "让他天天",
                "email": "",
                "ord_info": "3535",
                "sn": "C20160500001",
                "dev_id": "3535",
                "code": "353",
                "lnglat": "121.34854400000000000,31.15501500000000000",
                "flag": "1"
            },
            {
                "address": "上海上海市奉贤区",
                "id": "100",
                "mobile": "18018603916",
                "ord_id": "5578",
                "name": "测试3",
                "email": "523805876@qq.com",
                "ord_info": "c111111",
                "sn": "C16022523",
                "duration": "",
                "dev_id": "21421425555",
                "code": "3",
                "lnglat": "121.47404200000000000,30.91779500000000000",
                "flag": "2"
            },
            {
                "address": "上海上海市浦东新区莲园路100弄17号502|上海上海浦东新区莲溪路",
                "id": "3",
                "mobile": "15721133670",
                "ord_id": "S0003",
                "name": "lbb",
                "email": "workspace_jing@hotmail.com",
                "ord_info": "箱子",
                "sn": "2222222222222",
                "duration": "1140",
                "dev_id": "201605260002",
                "code": "001|S001",
                "lnglat": "|121.54829500000000000,31.18422300000000000",
                "flag": "1"
            },
            {
                "address": "北京北京市昌平区朝阳路100号|上海上海市浦东新区莲园路100弄17号502",
                "id": "221",
                "mobile": "",
                "ord_id": "000222",
                "name": "测试|测试3",
                "email": "",
                "ord_info": "蛋糕房",
                "sn": "C20160500023",
                "dev_id": "",
                "code": "S003|S005",
                "lnglat": "|121.54829500000000000,31.18422300000000000",
                "flag": "1"
            },
            {
                "address": "上海上海市浦东新区莲园路100弄17号502",
                "id": "218",
                "mobile": "15721133670",
                "ord_id": "345789",
                "name": "lbb",
                "email": "workspace_jing@hotmail.com",
                "ord_info": "",
                "sn": "C20160500019",
                "dev_id": "",
                "code": "001",
                "lnglat": "121.54829500000000000,31.18422300000000000",
                "flag": "1"
            },
            {
                "address": "上海上海市浦东新区莲园路100弄17号502|上海上海浦东新区莲溪路",
                "id": "216",
                "mobile": "15721133670",
                "ord_id": "32567",
                "name": "lbb|lxd",
                "email": "workspace_jing@hotmail.com",
                "ord_info": "",
                "sn": "C20160500017",
                "dev_id": "201602140005",
                "code": "001|S001",
                "lnglat": "121.54829500000000000,31.18422300000000000|",
                "flag": "1"
            },
            {
                "id": "209",
                "ord_id": "45679",
                "ord_info": "455",
                "sn": "C20160500004",
                "dev_id": "",
                "lnglat": "",
                "flag": "1"
            },
            {
                "id": "317",
                "ord_id": "201606080001",
                "sn": "C20160600102",
                "dev_id": "210606011714",
                "lnglat": "",
                "flag": "0"
            }
        ]

以下是问题补充:

@酸奶瓶盖儿:执行以下代码将数据保存到sqlite时,报错信息如下: 错误: 06-12 10:59:28.595 15549-15549/com.tropyfish.cns E/AndroidRuntime: FATAL EXCEPTION: main Process: com.tropyfish.cns, PID: 15549 net.tsz.afinal.exception.DbException: the class[class java.util.ArrayList]'s idField is null , you can define _id,id property or use annotation @id to solution this exception 代码: List<CargoInfo> cargoInfo = JSON.parseObject(items.toString(), new TypeReference<List<CargoInfo>>() {}); for (CargoInfo car:cargoInfo){ try { logUtil.log("货物信息:",car.getOrd_info()); }catch (Exception e){ e.printStackTrace(); } } logUtil.log("打印结果",cargoInfo+""); db.save(cargoInfo); logUtil.log("货物列表保存到数据库:", "保存成功!"); (2016/06/12 11:03)
加载中
0
寒天
寒天

the class[class java.util.ArrayList]'s idField is null , you can define _id,id property or use annotation @id to solution this exception

你的实体类需要一个主键ID(_id 或者用 @id 注解的 id 字段),异常讲的很清楚

0
yuzhouliu
yuzhouliu

你只需要造个表,包含这些字段就行:

"address": "上海上海市浦东新区莲园路100弄17号502",
                "id": "240",
                "mobile": "15721133670",
                "ord_id": "2016052600022",
                "name": "lbb",
                "email": "workspace_jing@hotmail.com",
                "ord_info": "外出服",
                "sn": "C20160530001",
                "duration": "",
                "dev_id": "C20160500021",
                "code": "001",
                "lnglat": "121.54829500000000000,31.18422300000000000",
                "flag": "1"

0
酸奶瓶盖儿
酸奶瓶盖儿

引用来自“yuzhouliu”的评论

你只需要造个表,包含这些字段就行:

"address": "上海上海市浦东新区莲园路100弄17号502",
                "id": "240",
                "mobile": "15721133670",
                "ord_id": "2016052600022",
                "name": "lbb",
                "email": "workspace_jing@hotmail.com",
                "ord_info": "外出服",
                "sn": "C20160530001",
                "duration": "",
                "dev_id": "C20160500021",
                "code": "001",
                "lnglat": "121.54829500000000000,31.18422300000000000",
                "flag": "1"

执行以下代码将数据保存到sqlite时,报错信息如下: 错误: 06-12 10:59:28.595 15549-15549/com.tropyfish.cns E/AndroidRuntime: FATAL EXCEPTION: main Process: com.tropyfish.cns, PID: 15549 net.tsz.afinal.exception.DbException: the class[class java.util.ArrayList]'s idField is null , you can define _id,id property or use annotation @id to solution this exception 代码: List<CargoInfo> cargoInfo = JSON.parseObject(items.toString(), new TypeReference<List<CargoInfo>>() {}); for (CargoInfo car:cargoInfo){ try { logUtil.log("货物信息:",car.getOrd_info()); }catch (Exception e){ e.printStackTrace(); } } logUtil.log("打印结果",cargoInfo+""); db.save(cargoInfo); logUtil.log("货物列表保存到数据库:", "保存成功!");
酸奶瓶盖儿
酸奶瓶盖儿
回复 @zabcd117 : 你前面那句话不是屁话吗?报错有提示信息,谁都知道。Google的东西不是什么问题都可以解决的。
zabcd117
zabcd117
回复 @lixiaodong0128 : 连问题是什么都搞不明白,就在这里喷,明明是net.tsz.afinal.exception.DbException这个finaldb库的问题,还有就算你看不懂问题,报错信息直接取google上搜也有解决方案。
酸奶瓶盖儿
酸奶瓶盖儿
回复 @zabcd117 : 这种屁话就不用回答了吧!
zabcd117
zabcd117
报错信息不是说的得很清楚该怎么解决了么?
返回顶部
顶部