java json使用以及js json
来源:互联网 发布:淘宝网联盟 编辑:程序博客网 时间:2024/05/20 14:23
前两天一直在医院跑,博客也没时间写,现在重拾心情将自己这两天学的json跟大家分享一下,json作为一种几乎没有什么附加数据来标定格式的数据传送方式,它和xml等方案相比具有不可比拟的优点,毕竟使用json不仅可以使用户访问更加有效(加载更快),而且可以节省流量,深受很多开发者的喜爱。熬了,跑偏了,下面讲一下其用法 java: 在后台中我们肯定会有这样的需求,获取从前端传来的json数据,然后我们将其转化为json对象,然后会有获取其属性值或者将json对象转化为我们自定义的java对象,或者转化为自定义的java对象数组。 首先需要将json字符串转化为json对象,这里我们使用JSONObject jsonObj=JSONObject.fromObject(jsonStr); 怎么获取json属性值,可以使用jsonObject.getString("key");怎么得到我们自定义对象呢?用刚刚获取的属性值一个个set?no,第三方库为我们省去了这个过程,我们可以使用MyBean bean=JSONObject.toBean(jsonObj,MyBean.class);同样获取bean数组一样List<MyBean> beans=JSONArray.toList(jsonArr,,MyBean.class);很好使用?没错,但是这里面有一些注意的点,大家编程时注意一下为你们省点时间: 1,编写的bean必须是public类型和使用这个bean的地方分开否则会报找不到对应属性的setter方法错误 2,json对象的属性值必须和自定义属性名字相同 恩,从前台接收数据并处理,我们完成了,那么发送数据呢?这里又会涉及到如何产生json对象,json数组,别急,下面一一讲解: 1,产生json对象,有三种方法 //如何create一个json对象,三种方法 JSONObject jsonOb1=new JSONObject(); jsonOb1.put("name", "宋江"); jsonOb1.put("age", 23); System.out.println("jsonOb1:"+jsonOb1); String jsonStr2="{\"name\":\"林冲\",\"age\":24}"; JSONObject jsonOb2=JSONObject.fromObject(jsonStr2); System.out.println("jsonOb2:"+jsonOb2); Map jsonMap3=new HashMap<String,String>();//map的形式与json转换 jsonMap3.put("name", "武松"); jsonMap3.put("age", 34); JSONObject jsonOb3=JSONObject.fromObject(jsonMap3); System.out.println("jsonOb3:"+jsonOb3);结果:jsonOb1:{"name":"宋江","age":23}jsonOb2:{"name":"林冲","age":24}jsonOb3:{"age":34,"name":"武松"} 2,产生json对象数组,提供两种方法//如何create一个json数组,两种方法 // json字符串数组->json数组 String jsonStr="[{\"name\":\"李逵\",\"age\":32},{\"name\":\"鲁智深\",\"age\":33}]"; JSONArray jsonArr1=JSONArray.fromObject(jsonStr); System.out.println("jsonArr1:"+jsonArr1); JSONArray jsonArr2=new JSONArray();//json对象——>json数组 jsonArr2.add(0, jsonOb1); jsonArr2.add(1, jsonOb2); jsonArr2.add(2, jsonOb3); System.out.println("jsonArr2:"+jsonArr2); 结果:jsonArr1:[{"name":"李逵","age":32},{"name":"鲁智深","age":33}] jsonArr2:[{"name":"宋江","age":23},{"name":"林冲","age":24},{"age":34,"name":"武松"}] 顺便讲一下如何使用json数组: //json数组得到json对象 Object first=jsonArr1.get(0); System.out.println("first:"+first); JSONObject jo=JSONObject.fromObject(first); String name=jo.getString("name"); int age=jo.getInt("age"); System.out.println("name:"+name); System.out.println("age:"+age); 结果: first:{"name":"李逵","age":32} name:李逵 age:32 很细节,很奈斯!讲完了?nope!我们仅仅讲了3/4,前端js如何使用json,别急,且听我细细道来。 还是按着上面的思路,收,发处理。 收,收到json字符串,我们需要将其转化为json对象以做进一步操作。可以使用第三库json.js使用,JSON.parse(jsonStr); 发,将json对象变成json字符串,JSON.stringify(jsonObj); 至于复杂的json数组使用,说实话,一样的道理,并不难 好了,就讲到这里了,我去吃下饭
0 0
- java json使用以及js json
- js中json使用以及java中json使用
- json,js,java使用总结
- JS/JavaScript中解析JSON --- JSON.parse()、JSON.stringify()以及$.parseJSON()使用详解
- JavaScript中解析JSON --- json.js 、 json2.js 以及 json3.js的使用区别
- JS和JAVA使用JSON方法解析
- JS和JAVA使用JSON方法解析
- json在java和js中的使用
- 在JS环境下的JSON的认识和使用以及JS如何解析JSON
- js中的json使用
- jquery.json.js使用
- js 中JSON使用
- js 使用Json数据
- 使用 js 美化 json
- JSON 数据格式,js中怎么读取json 数据,java中怎么使用json
- JSON应用 java&js
- java js 操作 JSON
- JSON以及Java转换JSON的方法
- [后缀数组 主席树] BZOJ 4556 [Tjoi2016&Heoi2016]字符串
- RecyclerView自定义分割线
- poj3130 How I Mathematician Wonder What You Are!【半平面交】
- 正向代理与反向代理的区别【Nginx读书笔记】
- 初探airflow
- java json使用以及js json
- STL仿函数简单总结
- [后缀数组] BZOJ 2119 股市的预测
- 单播,组播(多播),广播以及任播
- 《Cracking the Coding Interview程序员面试金典》----链表中倒数第k个结点
- [BZOJ4403][Lucas定理]序列统计
- tensorflow:Couldn't open CUDA library libcupti.so.8.0. LD_LIBRA
- 数据结构 二叉树实现
- 移动端界面标注:如何理清标注的思路?