java解析json字符串的应用

文件alarmPub.txt中存在如下json串

{
    "data": [
        {
            "oriId": "oid",
            "alarmObj": "alarm obj",
            "alarmObjName": "alarm Obj Name",
            "alarmLevel": "alarmLevel",
            "alarmType": "alarmType",
            "alarmStatus": "0",
            "source": "1",
            "absTime": "2015-02-05 22:22:10",
            "comment": "comment"
        },
        {
            "oriId": "oid1",
            "alarmObj": "alarm obj1",
            "alarmObjName": "alarm Obj Name1",
            "alarmLevel": "alarmLevel1",
            "alarmType": "alarmType1",
            "alarmStatus": "01",
            "source": "11",
            "absTime": "2015-02-05 22:22:11",
            "comment": "comment1"
        }
    ]
}

这里需要注意的时候json格式一定要正确,不然无法正确解析!

笔者因为json格式问题,纠结了好久,最后请同事发现是json格式问题

百度“”json在线解析“,把json串放入其中校验, 会显示出绿色字体”正确json”即可。否则去检查json的问题,构造成符合json格式的json数据。


FileUtil util = new FileUtil();
String alarms = util.readFileByLines("alarmPub.txt");

通过文件工具类,以字符串的形式读取出来 文本文件中的数据

JSONArray jsonArray = JSONObject.fromObject(JSON.parse(alarms)).getJSONArray("data");

转化成JSONArray对象,

Object[] arrays = jsonArray.toArray();

通过JSONArray对象中的toARRAY()方法得到了个object数组。

变量数组

for(int i=0;i<arrays.length;i++){  
System.out.println(JSONObject.fromObject(arrays[i]).get("alarmType"));

}

其中JSONObject.fromObject(arrays[i].get(key值)),是通过键名得到对应的值。这个困扰了我好久,后来发现小加上

JSONObject.fromObject包装起来,即可。

至此,json数据正确的解析了出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值