由于项目用到了JSON格式的数据,在网上搜索到了阿里的fastjson比较好用,特此记录fastjson用法,以备以后查询之用。
decode:
首先创建一个JSON解析类:
public class JsonParser { private int devid;
public int getDevid() { return devid; } public void setDevid(int devid) { this.devid = devid; } }
在需要用到解析的地方创建一个对应的对象:
String str = "{"devid":12345}";
JsonParser jsonString = JSON.parseObject(str, JsonParser.class);
str参数为需要解析的字符串
然后只需调用该对象响应的getter()方法即可得到key对应的value:
int devid = jsonString.getDevid();
System.out.println(devid);//12345
encode:
同样创建一个相应的JSON类(简单起见,就以上面那个解析类做例子吧)
然后创建一个对象,并调用相应的setter()方法:
JsonParser json = new JsonPaser(); json.setDevid(12345);
设置完值之后调用该JSON库的toJSONString()方法讲该对象传入即可生成JSON格式的数据:
String str = JSON.toJSONString(json);
System.out.println(str); //{"devid":12345}
PS:通过测试发现,fastjson的功能比较强大,JSON格式的数据没有完全符合也能够顺利解析出来。
比如"{devid:12345}" 、 "{"devid":12345}" 、 "{"devid":"12345"}" 都可以正确解析