复习解析嵌套json
在网络上找的一些经典的例子复习使用
一,解析嵌套json字符串,一个json字符串中嵌套另一个json字符串
{
"msg": {
"resCode": "0000",
"attrName": "sensorData", "result": {
"food1": 0,
"water": 0,
"food2": 106,
"humidity": "152.42",
"temprature": "103.65"
}
}
}
我要获取的是嵌套在msg里的result中的所有数据。
先用msg和result分别创建bean类,把Result作为msg的其中一个变量
public class SensorBean implements Serializable { private Result result; private int resCode; private String attrName;
public Result getResult() {
return result;
} public void setResult(Result result) {
this.result = result;
} public int getResCode() {
return resCode;
} public void setResCode(int resCode) {
this.resCode = resCode;
} public String getAttrName() {
return attrName;
} public void setAttrName(String attrName) {
this.attrName = attrName;
}
@Override
public String toString() {
return "Msg{" +
"result=" + result.toString() +
", resCode=" + resCode +
", attrName='" + attrName + '\'' +
'}';
} }
两个类都继承序列化
public class Result implements Serializable{ /**
* food1 : 0
* water : 0
* food2 : 106
* humidity : 152.42
* temprature : 103.65
*/ private int food1;
private int water;
private int food2;
private String humidity;
private String temprature; public int getFood1() {
return food1;
} public void setFood1(int food1) {
this.food1 = food1;
} public int getWater() {
return water;
} public void setWater(int water) {
this.water = water;
} public String getTemprature() {
return temprature;
} public void setTemprature(String temprature) {
this.temprature = temprature;
} @Override
public String toString() {
return "Result{" +
"food1=" + food1 +
", water='" + water +
", temprature=" + temprature+ '\''+
'}';
}
}
然后在获取到数据的地方进行Gson解析
Gson gson = new Gson();
SensorBean sensorBean = gson.fromJson(data.getString("msg"), SensorBean.class);
Result result = sensorBean.getResult();
L.d(TAG, "result.bean = " + result.toString());
二.加上数组的json嵌套
{
"error": "0",
"data": [
{
"name": "1",
"value": [
{
"name": "2",
"value": "3"
},
{
"name": "4",
"value": "5"
}
]
},
{
"name": "6",
"value": [
{
"name": "7",
"value": "8"
},
{
"name": "9",
"value": "10"
}
]
}
]
}
import java.util.ArrayList; public class JsonBean {
private Error error;
//data 是个数组
private ArrayList data;
public Error getError(){
return error;
}
public void setError(Error error){
this.error = error ;
} public ArrayList getData(){
return data;
}
public void setData(ArrayList data){
this.data = data;
} public static class Bean2 {
public String name;
public ArrayList value; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public ArrayList getValue() {
return value;
} public void setValue(ArrayList value) {
this.value = value;
} @Override
public String toString() {
return "Bean2 [name=" + name + ", value=" + value + "]";
} } public static class Bean3 {
public String name;
private String value; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getValue() {
return value;
} public void setValue(String value) {
this.value = value;
} @Override
public String toString() {
return "Bean3 [name=" + name + ", value=" + value + "]";
} }
} }
复习解析嵌套json的更多相关文章
- 【golang】json数据解析 - 嵌套json解析
@ 目录 1. 通过结构体映射解析 2. 嵌套json解析-map 1. 通过结构体映射解析 原数据结构 解析 // 结构体 type contractJson struct { Data []tra ...
- QT解析嵌套JSON表达式
QT5开发环境集成了解析JSON表达式的库.使用很方便. 友情提示一下,好像在QT4环境里.须要到官网下载相关的库文件才干使用解析功能.话不多说,上代码 1.在pro文件里增加 QT += scrip ...
- 解析嵌套json字符串,一个json字符串中嵌套另一个json字符串
我现在有一个字符串是这样: { "msg": { ", "attrName": "sensorData", "trans ...
- .net 解析嵌套JSON
JSON格式文件如下:我们是要取出msgJsoncontent里面GeneralReportInfo下serviceData中的totalUseValue数据 { ", "mess ...
- Android利用Gson解析嵌套多层的Json
参考:http://www.cnblogs.com/jxgxy/p/3677256.html 比如我们要解析一个下面这种的Json: String json = {"a":&quo ...
- C# 解析嵌套的json文件.
概述 今天我同学问我如何转换json文件,没处理过,网上搜了一下,json转excel的很少,反过来倒是有许多人写了工具. json文件的结构大致是这样的: {, , }, , "type& ...
- 【Java_Spring】java解析多层嵌套json字符串
java解析多层嵌套json字符串
- 复杂json解析(json里面嵌套json)
调用第三方接口,返回一堆json,我只想取得里面的某一个属性,但是返回的比较复杂,无法直接拿到属性,格式类似于这样: {"video":{"id":" ...
- 利用FastJson,拼接复杂嵌套json数据&&直接从json字符串中(不依赖实体类)解析出键值对
1.拼接复杂嵌套json FastJson工具包中有两主要的类: JSONObject和JSONArray ,前者表示json对象,后者表示json数组.他们两者都能添加Object类型的对象,但是J ...
随机推荐
- wifi共享大师,去除弹窗广告。
1.安装WiFi共享大师 2.不要打开 3.右键打开文件所在位置 4.在任意目录新建三个空的txt,重命名为MiniNews.exe.ProLive.exe.WifiUpdate.exe 5.将上面的 ...
- vue中使用watch函数,当数据改变时自动引发事件
本来我的需求是这样的,使用ElementUI的日期选择器,当日期选择器被更改时需要根据新日期来向服务器获取新数据,但是发现这个日期选择器没有change事件,后来终于发现vue有个watch函数就是用 ...
- Python爬虫笔记【一】模拟用户访问之设置请求头 (1)
学习的课本为<python网络数据采集>,大部分代码来此此书. 网络爬虫爬取数据首先就是要有爬取的权限,没有爬取的权限再好的代码也不能运行.所以首先要伪装自己的爬虫,让爬虫不像爬虫而是像人 ...
- PKU--3628 Bookshelf 2(01背包)
题目http://poj.org/problem?id=3628 分析:给定一堆牛的高度,把牛叠加起来的高度超过牛棚的高度. 且是牛叠加的高度与牛棚高度之差最小. 把牛叠加的高度看作是背包的容量,利用 ...
- 新启vue_cli项目+引入Element
[1]安装vue_cli vue init webpack 项目名字 [2]安装Element-UI cnpm install element-ui -S //写入dependencies cnpm ...
- redux在react项目中的应用
今天想跟大家分享一下redux在react项目中的简单使用 1 1.redux使用相关的安装 yarn add redux yarn add react-redux(连接react和redux) 2. ...
- spring cloud深入学习(十二)-----Spring Cloud Zuul网关 Filter、熔断、重试、高可用的使用方式
Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制.Filter的生命周期有4个,分别是“PRE”.“ROUTING”.“POST”.“ERROR”,整个生命周期可以用下图来表示. ...
- 组件:参数验证props:组件参数验证语法
<!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...
- IDEA常用插件整理
1. 集成步骤 1.1. 配置环境变量 变量名:CMDER_ROOT 变量值:D:\Tool\cmder 1.2. IDEA中设置 settings->Tool->Terminal She ...
- Webpack下创建vue项目-非vue-cli
开始准备 初始化工程目录 shell npm init -y 安装vue npm install vue 安装 webpack npm install webpack --save-dev webpa ...