GSON的简单示例
https://github.com/google/gson
package com.example.wolf;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class GSONTest {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("JSONString.txt"))) {
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
JsonObject root = new JsonParser().parse(sb.toString()).getAsJsonObject();
JsonArray peopleArray = root.getAsJsonArray("people");
for (int i = 0; i != peopleArray.size(); ++i) {
JsonObject elem = peopleArray.get(i).getAsJsonObject();
String peopleName = elem.get("people_name").getAsString();
String peopleId = elem.get("people_id").getAsString();
String tip = elem.get("tip").getAsString();
System.out.println("people_name: " + peopleName + "\npeople_id: " + peopleId + "\ntip: " + tip);
}
System.out.println();
int peopleCount = root.get("people_count").getAsInt();
String crowdName = root.get("crowd_name").getAsString();
String crowdId = root.get("crowd_id").getAsString();
String tip = root.get("tip").getAsString();
System.out.println("people_count: " + peopleCount + "\ncrowd_name: " + crowdName + "\ncrowd_id: " + crowdId + "\ntip: " + tip + '\n');
} catch (IOException ex) {
Logger.getLogger("JSONTest").log(Level.SEVERE, null, ex);
} finally {
JsonObject jsonObject = new JsonObject();
JsonArray faceArray = new JsonArray();
JsonObject arrayElement = new JsonObject();
JsonObject attributeObject = new JsonObject();
attributeObject.addProperty("age", 19);
attributeObject.addProperty("gender", "Female");
attributeObject.addProperty("lefteye_opendegree", 44);
attributeObject.addProperty("righteye_opendegree", 39);
attributeObject.addProperty("mouth_opendegree", 32);
JsonObject poseObject = new JsonObject();
poseObject.addProperty("raise", -1);
poseObject.addProperty("tilting", -7);
poseObject.addProperty("turn", -3);
attributeObject.add("pose", poseObject);
arrayElement.add("attribute", attributeObject);
arrayElement.addProperty("face_id", "dd6faefeb13a4dcebc14328891bdf6df");
JsonObject positionObject = new JsonObject();
JsonObject centerObject = new JsonObject();
centerObject.addProperty("x", 152);
centerObject.addProperty("y", 92);
positionObject.add("center", centerObject);
JsonObject leftEyeObject = new JsonObject();
leftEyeObject.addProperty("x", 209);
leftEyeObject.addProperty("y", 152);
positionObject.add("eye_left", leftEyeObject);
JsonObject rightEyeObject = new JsonObject();
rightEyeObject.addProperty("x", 312);
rightEyeObject.addProperty("y", 151);
positionObject.add("eye_right", rightEyeObject);
positionObject.addProperty("width", 218);
positionObject.addProperty("height", 218);
arrayElement.add("position", positionObject);
arrayElement.addProperty("tag", "");
faceArray.add(arrayElement);
jsonObject.add("face", faceArray);
jsonObject.addProperty("img_width", 537);
jsonObject.addProperty("img_height", 480);
jsonObject.addProperty("img_id", "020-334630e8948f3403");
jsonObject.addProperty("url", "http://www.eyekey.com/images/demo/BaiBaihe/2.jpg");
System.out.println(jsonObject);
}
}
}
JSONString.txt
{
"people":
[
{
"people_name": "test people",
"people_id": "22fd9efc64c87e00224c33dd8718eec7",
"tip": "people test tip"
}
],
"people_count": 20,
"crowd_name": "test",
"crowd_id": "22fd9efc64c87e00224c33dd8718eec7",
"tip": "test tip"
}
GSON的简单示例的更多相关文章
- retrofit okhttp RxJava bk Gson Lambda 综合示例【配置】
项目地址:https://github.com/baiqiantao/retrofit2_okhttp3_RxJava_butterknife.git <uses-permission andr ...
- Java Json API:Gson使用简单入门
GSON是Google开发的Java API,用于转换Java对象和Json对象.本文讨论并提供了使用API的简单代码示例.更多关于GSON的API可以访问:http://sites.google.c ...
- Linux下的C Socket编程 -- server端的简单示例
Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...
- C# 构建XML(简单示例)
C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...
- 根据juery CSS点击一个标签弹出一个遮罩层的简单示例
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- spring-servlet.xml简单示例
spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...
- SignalR 简单示例
一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...
随机推荐
- Snmp的学习总结(一)
摘自:http://blog.csdn.net/shanzhizi/article/details/11606767 目录(?)[-] SNMP的5种协议数据单元 SNMP的运行过程 11 Get ...
- poj1717 Dominoes (背包)
A domino is a flat, thumbsized tile, the face of which is divided into two squares, each left blank ...
- spring 找不到applicationContext.xml解决方法
初学Spring在用Resource rs=new ClassPathResource("applicationContext.xml");时老是遇到这个错误.后来发现用Appli ...
- Mato的文件管理(bzoj 3289)
Description Mato同学从各路神犇以各种方式(你们懂的)收集了许多资料,这些资料一共有n份,每份有一个大小和一个编号.为了防止他人偷拷,这些资料都是加密过的,只能用Mato自己写的程序才能 ...
- android中自定义下拉框(转)
android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在 ...
- 关于错误Access Violation和too many consecutive exceptions 解决方法
关于错误Access Violation和too many consecutive exceptions 解决方法 “如果DLL中用到了DELPHI的string类型,则DLL和主程序中都需要加上Sh ...
- Java 新手的通病
一:对算法和数据结构不熟悉 为什么我先拿“数据结构和算法”说事捏?这玩意是写程序最最基本的东东.不管你使用 Java 还是其它的什么语言,都离不开它.而且这玩意是跨语言的,学好之后不管在哪门语言中都能 ...
- avi视频文件提取与合并
最近在做一个avi视频文件的提取与合并,花了几天熟悉avi文件格式.制作了一个提取与合并的动态库,不过仅限于提取视频,视频的合并还没添加一些额外判断,可能导致不同分辨率的视频文件合成后不能播放.欢迎大 ...
- GRYZY- #10. 财富
财富(treasure) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有n个小伙伴.每个小伙伴有一个身高hi. 这个游戏是这样的,LYK生活的环境是以身高 ...
- codevs科技庄园
/* 因为每一秒只能走一个单位长度,而每走一个单位长度又会消耗一个体力值,如果体力值没有了时间还有也只能按照体力值计算,反之一样,所以V对于时间和体力值取小 cnt记录有桃子的树的个数,node[cn ...