gson简单使用及下载地址
来源:互联网 发布:优化人力资源配置 编辑:程序博客网 时间:2024/05/19 02:27
gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
和json-lib相比,Gson操作就相当的更简单了不管是对象还是数组,还是上面较复杂的map集合,操作都是一样的,不依赖其他jar,使用起来很方便简单。
下载地址:http://code.google.com/p/google-gson/downloads/list
package gson;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.reflect.TypeToken;import com.google.gson.stream.JsonReader;import com.google.gson.stream.JsonWriter;/** * Gson常用操作 * * @author xuyw * */public class Test { public static void main(String[] args) throws Exception { List<Map<String, String>> list = new ArrayList<Map<String, String>>(); Map m = new HashMap(); m.put("longitude", "123.999"); m.put("latitude", "28.999"); Map m2 = new HashMap(); m2.put("longitude", "124.333"); m2.put("latitude", "24.9"); list.add(m); list.add(m2); String[] str = new String[2]; str[0] = "123.999"; str[1] = "28.999"; User user = new User(1, "张三"); Gson gson = new Gson(); String listjson = gson.toJson(list);//集合转json String mapjson = gson.toJson(m);//map转json String arrayjson = gson.toJson(str);//数组转json String javabeanjson = gson.toJson(user);//对象转json System.out .println("->********************Object to JSON********************->"); System.out.println("list -> 转json: " + listjson); System.out.println("Map -> 转json: " + mapjson); System.out.println("Array -> 转json: " + arrayjson); System.out.println("JavaBean -> 转json: " + javabeanjson); System.out .println("->********************JSON to Object ********************->"); List<User> tusers = new ArrayList<User>(); for (int i = 0; i < 5; i++) { tusers.add(new User(i, "user" + i)); } String list_userjson = gson.toJson(tusers); System.out.println("json -> 转泛型集合: " + list_userjson); List<User> list_user = gson.fromJson(list_userjson, new TypeToken<List<User>>() { }.getType()); for (User u : list_user) { System.out.println("姓名:" + u.getName()); } System.out .println("json -> 转泛型集合List<Map<String,String>>: " + listjson); List<Map> listmapList = gson.fromJson(listjson, new TypeToken<List<Map<String, String>>>() { }.getType()); for (Map map : listmapList) { System.out.println("longitude:" + map.get("longitude")); } System.out.println("json -> 转javabean: " + listjson); User user2 = gson.fromJson(javabeanjson, User.class); System.out.println(user2.getName()); // GsonBuilder gsonBuilder = new GsonBuilder(); // // 通过GsonBuilder 的create生成Gson对象 // Gson gson2 = gsonBuilder.create(); // // // 通过TypeToken活动Type对象 // String gsonstr = gson2.toJson(tusers, new TypeToken<List<User>>() { // }.getType()); // System.out.println(gsonstr); File file = new File("gson.txt");// 把json保存文本 OutputStream out = new FileOutputStream(file); JsonWriter writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8")); gson.toJson(listmapList, new TypeToken<List<Map<String, String>>>() { }.getType(), writer); writer.flush(); InputStream input = new FileInputStream(file); // JsonReader reader = new JsonReader(new InputStreamReader(input)); // List<Map> readertxt = gson.fromJson(reader, // new TypeToken<List<Map<String, String>>>() { // }.getType()); List<Map> readertxt = gson.fromJson(new InputStreamReader(input), new TypeToken<List<Map<String, String>>>() { }.getType()); System.out.println("读取本地json文件"); for (Map map : readertxt) { System.out.println("longitude:" + map.get("longitude")); } }}
- gson简单使用及下载地址
- GSON简单实用及常用方法(附 .jar 地址)
- google gson 包下载地址
- Metasploit下载地址及使用
- Gson简单使用
- Gson简单使用
- Gson简单使用
- Gson的简单使用
- Gson的简单使用
- Gson的简单使用
- 简单的Gson使用
- Gson使用简单介绍
- Gson的简单使用
- Gson简单使用
- Gson简单使用
- Gson的简单使用
- Gson的简单使用
- Gson的简单使用
- Computing Normals
- V4L2视频采集以及使用libjpeg 用yuv转JPEG
- AppWidget的使用
- 实现strcpy函数
- netty的源码学习(一)
- gson简单使用及下载地址
- CArray的原理(数据的动态处理)
- eclipse快捷键
- 密码学基础知识
- 《JavaScript语言精髓与编程实践(第二版)》勘误【2012.12】
- 吐血
- struct2应用程序[兄弟入门第一课]
- iReport按钮灰色 失效解决方法
- Ubuntu/linux下最强大的下载工具-aria2