Gson生成json的几种方法
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
引用gson
dependencies {
implementation 'com.google.code.gson:gson:2.8.5'
}
方法一:Map对象转json
public void printJson1() {
Map<String, Object> student = new HashMap<>();
student.put("name", "野猿新一");
student.put("age", 28);
student.put("emails", new String[]{"yeyuanxinyi@sina.com", "yeyuanxinyi@sohu.com", "yeyuanxinyi@163.com"});
Map<String, Object> girlfriend = new HashMap<>();
girlfriend.put("name", "野援新二");
girlfriend.put("age", 18);
student.put("girlfriend", girlfriend);
String json = new Gson().toJson(student);
Log.d("json", json);
}
方法二:Java对象转json
// 首先定义一个Java类Student
public class Student {
public String name;
public int age;
public String[] emails;
public Student girlfriend;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
public void printJson2() {
Student student = new Student("野猿新一", 28);
student.emails = new String[]{"yeyuanxinyi@sina.com", "yeyuanxinyi@sohu.com", "yeyuanxinyi@163.com"};
student.girlfriend = new Student("野援新二", 18);
String json = new Gson().toJson(student);
Log.d("json", json);
}
生成的json结果
以上代码生成的json结果是一样的,如下
{
"age": 28,
"emails": [
"yeyuanxinyi@sina.com",
"yeyuanxinyi@sohu.com",
"yeyuanxinyi@163.com"
],
"girlfriend": {
"age": 18,
"name": "野援新二"
},
"name": "野猿新一"
}
总结
- json内容少建议直接用Map生成,省去还要创建一个Java类的步骤。
- json内容多,层级复杂,建议用Java对象生成,代码结构比较清晰。
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
7 个月前
更多推荐
已为社区贡献13条内容
所有评论(0)