Java利用gson处理json字符串
2016-12-30 00:00
246 查看
摘要: java代码中有时需要分析json字符串,利用java字符串函数直接对字符串分析也能达到效果,此处贴出利用goole的gson包来分析的demo。(当然还有其他方式,大神博客地址:http://dyygusi.iteye.com/blog/2208689)
直接贴代码,不说废话:
mvn配置文件pom.xml中加入:
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
非mvn可以从网址下载jar包导入即可,我在配置mvn时遇到问题,在配好且自动下载好jar 包后在代码中无法import,是因为mvn自动下载的jar 包有问题,手动下载后放到mvn的资源库目录下即可。java代码如下:
有用到的粘走,路过大神多喷多指教……
直接贴代码,不说废话:
mvn配置文件pom.xml中加入:
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
非mvn可以从网址下载jar包导入即可,我在配置mvn时遇到问题,在配好且自动下载好jar 包后在代码中无法import,是因为mvn自动下载的jar 包有问题,手动下载后放到mvn的资源库目录下即可。java代码如下:
import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class JsonOperater { public static void main(String[] args) { ReadJsonStr(defJsonStr); } /** * Read JSON string demo * @param jsonString * @return */ public static void ReadJsonStr(String jsonStr) { //获取json对象 jsonStr = jsonStr.replace("null","\"\""); JsonParser parser = new JsonParser(); JsonObject jsonobj = parser.parse(jsonStr).getAsJsonObject(); //JsonObject object=(JsonObject) parser.parse(new FileReader("test.json")); //获取json属性 String name = jsonobj.get("name").getAsString(); System.out.println("name: " + name); int age = jsonobj.get("age").getAsInt(); System.out.println("age: " + age); boolean isgoodman = jsonobj.get("isgoodman").getAsBoolean(); System.out.println("isgoodman: " + isgoodman); //获取json中数组 JsonArray likefoodsArray = jsonobj.get("likefoods").getAsJsonArray(); System.out.println("likefoodsArray: " + likefoodsArray); System.out.println("likefoodsArray[0]: " + likefoodsArray.get(0)); //获取json中的json JsonObject teachers = jsonobj.get("teachers").getAsJsonObject(); String chines = teachers.get("chines").getAsString(); System.out.println("chines: " + chines); //获取json数组中的json JsonArray courses = jsonobj.get("courses").getAsJsonArray(); JsonObject courses0 = courses.get(0).getAsJsonObject(); System.out.println("courses0-name: " + courses0.get("name").getAsString()); //json object to string Gson gson = new GsonBuilder().setPrettyPrinting().create(); String outJsonStr = gson.toJson(jsonobj); System.out.println("outJsonStr:\n" + outJsonStr); } private static String defJsonStr = "{\"name\": \"XIAOMING\",\"age\": 21,\"isgoodman\": true,\"likefoods\": [\"meat1\",\"meat2\",\"meat3\",\"meat4\"],\"teachers\": {\"chines\": \"teacher1\",\"english\": \"teacher2\"},\"courses\": [{\"name\": \"chines\",\"teacher\": \"teacher1\",\"grade\": 90},{\"name\": \"english\",\"teacher\": \"teacher2\",\"grade\": 60}],\"girlfriend1\": \"\",\"girlfriend2\": null}"; /* { "name": "XIAOMING", "age": 21, "isgoodman": true, "likefoods": ["meat1","meat2","meat3","meat4"], "teachers": { "chines": "teacher1", "english": "teacher2" }, "courses": [ { "name": "chines", "teacher": "teacher1", "grade": 90 }, { "name": "english", "teacher": "teacher2", "grade": 60 } ], "girlfriend1": "", "girlfriend3": , //error "girlfriend2": null //replace("null","") }*/ }
有用到的粘走,路过大神多喷多指教……
相关文章推荐
- 利用GSON对json数据中的时间类型字符串进行处理,并且进行数据库查询
- Java 利用Gson将json字符串转换为List<Map<String, String>>
- 利用 Java 6 直接处理 JSON
- gson将JSON字符串转成Java对象
- Java中利用gson解析Json实例教程
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- java 处理 json字符串
- gson处理json和java对象互转
- java 后台使用gson 将json字符串转换为List<Map<String,object>> 数组
- 【第21篇】通过Gson去把字符串转成json,对象转成Json,数组转换成Json处理Json数据
- Android开发-进阶:Json字符串转换为java对象的各种实现方法[json_lib框架、Gson、org.json]
- gson(JSON字符串转换成一个相等的Java对象)
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- 字符串模拟利用gson解析与生成json
- <摘录>Gson对Java嵌套对象和JSON字符串之间的转换
- gson将JSON字符串转成Java对象
- java利用json-lib解析json字符串
- java json字符串处理
- Gson利用泛型将Http请求返回的Json字符串快速解析模板
- Android 利用Gson生成Json字符串