{"lastrdtime":1515998187379,"creditbalance":"$5.00","contactmode":"0100000003","consname":"100000030060","consno":"100000030060","consaddr":"北京市海淀区中关村","lastreading":"125.00"}
现在有上面JSON格式的字符串, 如何获取consno对应的值100000030060?
==方式一:Google的Gson.================================================
1.基于maven,导入谷歌的Gson包:
com.google.code.gson gson 2.8.2
2.创建Gson对象, 将JSON字符串转为Map对象, Map取值就哦了.(转成自定义的javaBean, 通过getXxx()取值也可以)
Gson gson = new Gson();Map map = gson.fromJson(stringEntity, Map.class); System.out.println(map.get("consno"));
结果:
100000030060
==方式二:阿里的FastJson.================================================
1.基于maven, 导入阿里的FastJson包:
com.alibaba fastjson 1.2.41
2.调用JSON类的parseObject方法, 将字符串转为JSONObject:
JSONObject jsonObject = JSON.parseObject(jsonEntity);System.out.println(jsonObject.get("consno"));
结果:
100000030060
附:
package com.test.com.pers.others;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.google.gson.Gson;import java.util.Map;/** * Created by yadongliang on 2018/1/15 0015. */public class GetJsonParameter { public static void main(String[] args) { String stringEntity = "{'consno':'100000030060','consaddr':'北京市海淀区中关村'}"; /** * 方式一:Google的Gson. */ Gson gson = new Gson(); Map map = gson.fromJson(stringEntity, Map.class); System.out.println(map.get("consno")); System.out.println(map.get("consaddr")); /** * 方式二:阿里的FastJson. */ JSONObject jsonObject = JSON.parseObject(stringEntity); System.out.println(jsonObject.get("consno")); System.out.println(jsonObject.get("consaddr")); System.out.println(jsonObject.getString("consno")); System.out.println(jsonObject.getString("consaddr")); }}
另, 可参考另一篇:
这篇讲的更细致...