复习解析嵌套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 ...
随机推荐
- ES6 学习笔记(基础)
书链接:http://es6.ruanyifeng.com/ #.let let 不存在“变量提升” 暂时性死区(即:let 所定义的变量在局部作用域中不受外界影响) var tmp = 123; i ...
- PAT甲级——A1098 Insertion or Heap Sort
According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...
- fftw3.3.3在redhat4.4下安装
FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开 ...
- vue 全局方法(单个和多个方法)
参考: https://www.cnblogs.com/zhcBlog/p/9892883.html https://blog.csdn.net/xuerwang/article/d ...
- 使用springboot上传文件至nginx代理服务器
nginx配置图片服务器 server { listen 8001; server_name image.xxx.com; proxy_set_header X-Forwarded-Host $hos ...
- linux删除登录日志及历史命令
参考:https://blog.51cto.com/study2008/2301555 基本常用清理linux日志: # echo > /var/log/wtmp //清除用户登录记录 # ec ...
- mahout in Action2.2-给用户推荐图书(3)-评价推荐系统
推荐系统引擎是一个工具,一种回答问题的手段,"对用户来讲什么是最好的推荐?",在研究回答的前先研究一下这个问题.一个好的推荐的准确含义是什么?如何知道推荐系统是如何生成推荐的?下面 ...
- 嘴巴题4 「BZOJ1827」[Usaco2010 Mar] gather 奶牛大集会
1827: [Usaco2010 Mar]gather 奶牛大集会 Description Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会.当然,她会选择最方便的地点来 ...
- 循环/闭包/setTimeout/Promise 综合
控制台显示内容为? for (var i = 0; i < 5; i++) { console.log(i); } 控制台显示内容为? for (var i = 0; i < 5; i++ ...
- 阿里OSS ajax方式 web直传
部分js代码 send_request = function(){//这是从后台获取认证策略等信息. var htmlobj=$.ajax({url:root+"/service/polic ...