使用Java创建JSON数据
来源:互联网 发布:问答系统 知乎 编辑:程序博客网 时间:2024/06/06 08:53
要创建的JSON数据格式如下:
{ "cat": "it", "languages": [ {"id": 1, "ide": "eclipse", "name": "Java"}, {"id": 2, "ide": "XCode", "name": "Swift"}, {"id": 3, "ide": "Visual Studio", "name": "C#"} ], "pop": true}
创建JSON数据的Java源码 CreateJSON.java 如下:
第一种方式:
private static void CreateJSONByObject() { JsonObject object =new JsonObject(); object.addProperty("cat","it"); JsonArray array=new JsonArray(); JsonObject lan = new JsonObject(); lan.addProperty("id",1); lan.addProperty("ide","Eclipse"); lan.addProperty("name","Java"); array.add(lan); lan = new JsonObject(); lan.addProperty("id",2); lan.addProperty("ide","XCode"); lan.addProperty("name","Swift"); array.add(lan); lan = new JsonObject(); lan.addProperty("id",3); lan.addProperty("ide","Visual Studio"); lan.addProperty("name","C#"); array.add(lan); object.add("language",array); object.addProperty("pop",true); System.out.println(object.toString()); }
第二种方式:
private static void CreateJSONByMap() { Map<String,Object> map = new LinkedHashMap<>(); map.put("cat","it"); Language[] languages = { new Language(1,"Eclipse","Java"), new Language(2,"XCode","Swift"), new Language(3,"Visual Studio","C#"), }; map.put("language",languages); map.put("pop",true); Gson gson = new Gson(); System.out.println(gson.toJson(map)); }
第三种方式:
private static void CreateJSONByBean() { JsonBean jsonBean = new JsonBean(); jsonBean.setCat("it"); Language[] languages = { new Language(1,"Eclipse","Java"), new Language(2,"XCode","Swift"), new Language(3,"Visual Studio","C#"), }; jsonBean.setLanguage(languages); jsonBean.setPop(true); Gson gson = new Gson(); System.out.println(gson.toJson(jsonBean)); }
注:@SerializedName("Name")
可以使Bean生成的 JSON k值重命名
生成JSON数据个性化操作
GsonBuilder gsonBuilder=new GsonBuilder();gsonBuilder.setPrettyPrinting();gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) { if ((f.getName().equals("name"))){ return "Name"; } return f.getName(); }});Gson gson = gsonBuilder.create();
使用关键字 transient
定义的变量在生成JSON时被忽略
private transient String ignore;
包google-json-2.8.0
源码下载
阅读全文
0 0
- 使用Java创建JSON数据
- 使用Java读取、创建JSON数据
- java31.JSON操作------使用Java读取、创建JSON数据
- JAVA中创建JSON数据
- Java创建和解析Json数据方法(二)——org.json包的使用
- Java创建和解析Json数据方法(三)——json-lib包的使用
- Java创建和解析Json数据方法(四)——json-lib包的使用
- Java创建和解析Json数据方法(二)——org.json包的使用
- Java创建和解析Json数据方法(二)——org.json包的使用
- Java创建和解析Json数据方法(三)——json-lib包的使用
- 使用Java创建Json文件
- Java解析JSON数据 使用org.json
- Gson-----3、使用GSON创建JSON数据
- java中使用Json数据
- 使用java生成Json数据
- 使用java生成Json数据
- java中使用Json数据
- 使用java生成Json数据
- 树莓派3 基于Ubuntu mate 16.04的调用中文输入法
- jQuery动态创建html元素的常用方法汇总
- 输入一个正整数,输出如下图形
- Docker Error Invalid or corrupt jarfile .jar
- Openstack之控制节点系统及环境安装
- 使用Java创建JSON数据
- unix环境IPC通信之消息队列,并使用多进程的实例
- CSS浮动
- 基于Unity UGUI RawImage的网络头像功能实现方案
- 移位操作
- MYSQL 自定义函数(if else)
- 移动Web开发基础-meta锦集
- 理解矩阵
- vcomp140.dll缺失 OSError: [WinError 126] 找不到指定的模块。