十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容介绍了“怎么使用fastjson”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
公司主营业务:网站设计制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出下冶免费做网站回馈大家。
包名: com.alibaba.fastjson maven依赖:
com.alibaba fastjson 1.2.7
String str = "{\"desc\":\"json格式的字符串\",\"sex\":\"男\"}"; JSONObject jo = JSONObject.parseObject(str);
JSONObject可以将极其复杂的json对象转换,下面的json语句也可以转换,并通过相应方法获得对应的值
{ "protocol":{ "itemID":"9527", "companyID":"4399", "userID":"233" }, "operateInfo":{ "cooptaskSceneDataPackets":[ { "taskID":"123", "runSceneID":"345", "dataTagCode":"反对", "dataTagID":"", "dataTagName":"是的", "dataTagBelongOrg":"" }, { "taskID":"126", "runSceneID":"345", "dataTagCode":"", "dataTagID":"", "dataTagName":"是的", "dataTagBelongOrg":"" }, { "taskID":"123", "runSceneID":"345", "dataTagCode":"无法", "dataTagID":"十五日", "dataTagName":"是的", "dataTagBelongOrg":"五七二" }, { "taskID":"124", "runSceneID":"235", "dataTagCode":"", "dataTagID":"", "dataTagName":"", "dataTagBelongOrg":"" } ] } }
使用JSONObject.parseObject(String text, Class
String str ="{\"itemID\":\"9527\",\"companyID\":\"4399\",\"userID\":\"233\"}"; EntityProtocol entityProtocol = JSONObject.parseObject(str, EntityProtocol.class);
如果类型不匹配则会创建所有属性均为null的该实体类。
使用.put(key,value)方法
若key参数在原对象中没有则在原对象中新增key属性并赋值为value;
若key参数存在则更改key的值为value;
//JSONObject.put(String key,Object value); jo.put("key","value"); jo.put("sex","修改");
经测试发现参数可以为JSONOBject,其逻辑为将参数json的属性及其值依次put到原json对象中
String str = "{\"name\":\"测试\",\"sex\":\"男\"}"; JSONObject jo = JSONObject.parseObject(str); String str2 = "{\"name\":\"我是\",\"age\":\"13\"}"; JSONObject jo2 = JSONObject.parseObject(str2); jo.putAll(jo2); //运行完成后jo为: //{"sex":"男","name":"我是","age":"13"}
使用JSONArray.add(Object e)
只是简单的将元素e添加到JSONArray数组中,既不校验e元素是否已存在于原数组中,也不校验e元素是否跟元素组格式相同
String str = "{\"name\":\"测试\",\"sex\":\"男\"}"; JSONArray ja = new JSONArray(); ja.add(str); JSONObject jo = JSONObject.parseObject("{\"name\":\"第二个\",\"age\":\"24\"}"); ja.add(jo); System.out.println(ja); //结果为: ["{\"name\":\"测试\",\"sex\":\"男\"}",{"name":"第二个","age":"24"}] JSONObject jo1 = JSONObject.parseObject(str); ja.add(jo1); System.out.println(ja); //结果为: ["{\"name\":\"测试\",\"sex\":\"男\"}",{"name":"第二个","age":"24"},{"sex":"男","name":"测试"}]
JSONArray.get(int index),JSONArray.getString(int index),JSONArray.getJSONObject(int index)
这些方法运行正常
JSONArray.getByte(int index),JSONArray.getByteValue(int index)
这些方法运行报错,没深究过为什么,估计是string不能转换成byte类型
System.out.println(ja.get(1)); System.out.println(ja.getString(1)); System.out.println(ja.getJSONObject(1)); //System.out.println(ja.getByte(1)); can not cast to byte, value //System.out.println(ja.getByteValue(1)); can not cast to byte, value
“怎么使用fastjson”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!