构造Json字段
来源:互联网 发布:三月软件小组 编辑:程序博客网 时间:2024/03/29 13:04
构造Json字段
构造下面内容:
{ "name":"张三", "age":23, "birthday":"1994-01-01", "school":"蓝翔", "major":["理发","挖掘机"], "married":false, "car":null}
三种方法构造json字段
1.使用JSONObject构造Json
/** * 使用JSONObject构造Json * 特点:不会添加值为null类型的项 * {"name":"张三","age":23,"birthday":"1994-01-01","school":"蓝翔", * "major":["理发","挖掘机"],"married":false} * @return JSONObject */public static JSONObject createJsonWithJSONObject() { JSONObject zhangsan = new JSONObject(); try { zhangsan.put("name", "张三"); zhangsan.put("age", 23); zhangsan.put("birthday", "1994-01-01"); zhangsan.put("school", "蓝翔"); JSONArray major = new JSONArray(); major.put("理发"); major.put("挖掘机"); zhangsan.put("major", major); //也可以使用字符串数组 //zhangsan.put("major",new String[]{"理发","挖掘机"}); zhangsan.put("married", false); //实际上值为null,不会添加该项 zhangsan.put("car", null); Log.d(TAG, "createJsonWithJSONObject: " + zhangsan.toString()); } catch (JSONException e) { e.printStackTrace(); } return zhangsan;}
2.使用HashMap构造Json
/** * 使用HashMap构造Json * 特点:无序 * 调用:JSONObject(Map copyFrom) * {"married":false,"name":"张三","car":null,"age":23,"major":["理发","挖掘机"], * "birthday":"1994-01-01","school":"蓝翔"} * @return JSONObject */public static JSONObject createJsonWithHashMap() { HashMap<String, Object> zhangsan = new HashMap<>(); zhangsan.put("name", "张三"); zhangsan.put("age", 23); zhangsan.put("birthday", "1994-01-01"); zhangsan.put("school", "蓝翔"); zhangsan.put("major", new String[]{"理发", "挖掘机"}); zhangsan.put("married", false); zhangsan.put("car", null); //传入HashMap对象到JSONObject构造方法 JSONObject obj = new JSONObject(zhangsan); Log.d(TAG, "createJsonWithHashMap: " + obj.toString()); return obj;}
3.使用Bean类构造Json
/** * 使用Bean类构造Json * 特点:可重用,需要注意bean类中toString()方法的定义 * 调用:JSONObject(String json) * {"name":"张三","age":23,"birthday":"1994-01-01","school":"蓝翔","major":["理发","挖掘机"], * "married":false,"car":"null"} * @return JSONObject */public static JSONObject createJsonWithBean() { People zhangsan = new People(); zhangsan.setName("张三"); zhangsan.setAge(23); zhangsan.setBirthday("1994-01-01"); zhangsan.setSchool("蓝翔"); List<String> majors = new ArrayList<>(); majors.add("理发"); majors.add("挖掘机"); zhangsan.setMajor(majors); zhangsan.setMarried(false); zhangsan.setCar(null); //接下来有两种方法可选 //1.使用Gson,特点:无序,返回json串 Gson gson=new Gson(); String result = gson.toJson(zhangsan); Log.d(TAG, "createJsonWithBean: result= "+result); //2.使用JSONObject JSONObject obj = null; try { obj = new JSONObject(zhangsan.toString()); } catch (JSONException e) { e.printStackTrace(); } Log.d(TAG, "createJsonWithBean: "+obj); return obj;}
注意:如若要打印出的json有格式可以这样:
GsonBuilder gsonBuilder=new GsonBuilder();//配置Gson输出适合漂亮打印页面的Json。此选项仅影响Json序列化gsonBuilder.setPrettyPrinting();Gson gson=gsonBuilder.create();String result = gson.toJson(zhangsan);
阅读全文
0 0
- 构造Json字段
- 构造JSON和解析JSON
- json过滤部分字段
- package.json 字段解析
- package.json字段说明
- package.json 字段大全
- Json去除某个字段
- package.json字段解释
- 递归构造json字符串
- 构造JSON数组字符串
- 构造JSON数据格式
- Android 构造json数据
- json构造和解析
- 构造json串
- c++构造json数组
- 快速构造json字符串
- javascript构造json数组
- Java构造JSON字符串
- *扩展KMP
- jQuery源码阅读(六)---jQuery实例方法解析
- 【C++】C++琐碎的知识点
- 跟我一起学C语言
- java 坦克大战
- 构造Json字段
- java接口
- 最新Python实现12306余票查询系统
- Android-自定义UI与触摸事件
- C语言时间差
- HTNL基础--(二)
- OpenCV的setTo函数及Mat mat=labels==1详解
- Activity 之间的数据传递
- 理解Python装饰器