Gson—使用详解(1)
2016-09-06 13:22
155 查看
public class GjonSpm { public static void main(String[] args) { Gson gson = new GsonBuilder().create(); gson.toJson("Hello", System.out); gson.toJson(123, System.out); } }
转自http://www.importnew.com/16630.html
在上面的例子中,我们创建了一个Gson实例,并把Java String和int转化为JSON对象。以上代码命令行里的输出结果如下:
"Hello"123注意,上述的结果都将输入到命令行。该toJason()方法有两个参数,Java对象转换为JSON和可追加(Java的文档)的一个实例。我们可以很容易地改变了一个文件或网络流。
public static void main(String[] args) throws IOException { Writer writer = new FileWriter("Output.json"); Gson gson = new GsonBuilder().create(); gson.toJson("Hello", writer); gson.toJson(123, writer); writer.close(); }
注意
为什么变量声明为Writer类型,而实际类型是FileWriter?尽量使用泛型是一个很好的方法。在上例中,我们只使用了Appendable和Writer接口定义的方法。使用泛型使代码更易于移植和维护
以上代码生成文件:包含JSON对象的Output.json。注意,这里我们使用了字符流而不是字节流。因为toJson()方法需要一个Appendanble实例,而字节流不能实现Appendable接口,所以我们使用了字符流。Appendable接口处理字符而不是字节。Java提供了InputStreanReader(Java文档)和OutputStreamWriter(Java文档)类进行字节流与字符流的转换,如下面的例子。
注意
注意,使用InputStreamReader和OutputStreamWriter类时,如果不提供编码或者字符集,转换将使用平台默认字符集。这将降低代码的可移植性,且在其他平台上运行将可能产生错误行为。public static void main(String[] args) throws IOException {
Writer writer = new OutputStreamWriter(new FileOutputStream("Output.json") , "UTF-8");
Gson gson = new GsonBuilder().create();
gson.toJson("Hello", writer);
gson.toJson(123, writer);
writer.close();
}
如你所见,我们只需要改变实例的一部分。代码的剩余部分没有任何变化。这就是使用接口代替类作为变量类型的好处之一。
相关文章推荐
- Android 使用Gson解析json案例详解
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- Gson 与 Fastjson 使用的初步详解
- Retrofit 2.0使用详解,配合OkHttp、Gson,Android最强网络请求框架
- JSON格式数据解析及GSON框架的使用详解
- 【Android开发经验】超好用的json解析工具——Gson项目使用详解
- Android 使用Gson解析json案例详解
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- 超好用的json解析工具——Gson项目使用详解
- 详解Gson使用(一)简单对象转化
- Retrofit 2.0使用详解,配合OkHttp、Gson,Android最强网络请求框架
- Gson——使用详解(2)
- 详解Gson使用(五)实现百度翻译功能
- 【Android开发经验】超好用的json解析工具——Gson项目使用详解
- Gson的使用详解
- 超好用的json解析工具——Gson项目使用详解
- 【Android开发经验】超好用的json解析工具——Gson项目使用详解
- 超好用的json解析工具——Gson项目使用详解
- Android 使用Gson解析json案例详解
- Gson之使用详解