java中Map、JSONArray、JSONObject的关系及转换以及json字符串与json对象的转化
来源:互联网 发布:js文件怎么运行网页 编辑:程序博客网 时间:2024/05/18 15:56
本文通过实际代码来探讨一下java中的Map、JSONArray、JSONObject的关系及其转换。直接上代码:
import java.util.HashMap;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;//如果没有这些包请去这个地址下载:http://download.csdn.net/download/liu_ares/9962569public class JSONTest1 { public static void main(String[] args){ JSONObjectSample(); JSONObject json = createJsonByMapTest(); System.out.println(json.getString("name"));//getString(String)方法就可以获得对应String的值 JSONArray majorArray = json.getJSONArray("major");//获取JSON中的数组的时候需要通过getJSONArray(String) 返回值是一个JSONArray对象 通过这个对象的get(int index)方法就可以通过索引index获取对应索引的值 } private static JSONObject JSONObjectSample() { JSONObject jsonTest = new JSONObject();//直接创建一个JSONObject对象 Object nullObject = null; try{ jsonTest.put("name", "shuqi");//直接往JSONObject对象内put JSON键值对 jsonTest.put("birthday", "1998-12-08"); jsonTest.put("major",new String[]{"Software","English"});//json的value传数组 jsonTest.put("girlfriend", nullObject);//如果这里使用null为第二个参数 会产生歧义 所以这里使用nullObject代替null跳过编译 System.out.println(jsonTest.toString()); } catch(Exception e){ e.printStackTrace(); } return jsonTest; } private static JSONObject createJsonByMapTest(){ String nullObject=null; Map<String,Object> jsonTestMap = new HashMap<String,Object>(); jsonTestMap.put("name", "shuqi"); jsonTestMap.put("birthday", "1998-12-08"); jsonTestMap.put("major",new String[]{"Software","English"});//json的value传数组 jsonTestMap.put("girlfriend", nullObject);//如果这里使用null为第二个参数 会产生歧义 所以这里使用nullObject代替null跳过编译 JSONObject jsonTest = new JSONObject(); jsonTest.putAll(jsonTestMap);//putAll(Map) 将Map变成json System.out.println(jsonTest.toString()); return jsonTest; }}
总结:在创建JSON的时候,可以先new一个JSONObject对象,然后直接通过JSONObject对象的put函数往这个JSONObject对象内添加JSON键值对,也可以通过生成一个Map对象,往Map里生成键值对,然后通过JSONObject对象的putAll(Map)方法将Map转化为JSONObject对象。由于JSONObject对象中对应某个键的值是一个数组,这个时候就需要用到getJSONArray(String key)的方法来获取对应key的数组,然后再返回的JSONArray数组对象的get(int index)方法获取该数组对应索引的值。
最后加上json字符串与json对象的转化:entity obj = JSONObject.toBean(JSONObject.fromObject(jsonstr), entity.getClass());//这样就可以将jsonstr这个json字符串以json对象的形式存在类类型为entity.getClass()的对象obj里。
阅读全文
1 0
- java中Map、JSONArray、JSONObject的关系及转换以及json字符串与json对象的转化
- JSON对象中的JSONObject和JSONArray以及与Map、String、数组的转化
- java JSON使用之JSONObject、JSONArray与Object的转换
- Etl项目中涉及的Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- java中JSONObject与JSONArray的使用详细说明及有关JSON的工具类
- java中JSONObject与JSONArray的使用详细说明及有关JSON的工具类
- Java中Json对象与String的相互转化,以及String与Map之间的转换,以及ArrayList中添加对象
- java操作json以及jsonObject、jsonArray的使用
- JSONObject与JSONArray的Json字符串创建使用案例
- JSONObject.fromObject(map)(JSON与JAVA数据的转换)
- JSONObject.fromObject(map)(JSON与JAVA数据的转换)
- getDrawable被划
- MFC程序中启动其他程序,并带参数
- python中ASCII码字符与int之间的转换
- C# 字符串,数字的排序重载
- flume的source, channel, sink 列表
- java中Map、JSONArray、JSONObject的关系及转换以及json字符串与json对象的转化
- AJAX 跨域请求
- 从0开始,开发一款属于自己的Android Studio插件
- JavaScript 内存泄漏教程
- Tomcat和http协议简介
- 面向对象 __unset 魔术方法
- python获取服务器响应cookie
- 高通msm8909获取温度
- VMware Ubuntu全屏