解析嵌套json字符串,一个json字符串中嵌套另一个json字符串
我现在有一个字符串是这样:
{
"msg": {
"resCode": "",
"attrName": "sensorData", "result": {
"food1": ,
"water": ,
"food2": ,
"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字符串,一个json字符串中嵌套另一个json字符串的更多相关文章
- php中嵌套html代码和html代码中嵌套php方式
php中嵌套html代码和html代码中嵌套php方式 一.总结 拷贝的话直接html代码是极好的方式 1.php中嵌套html代码(本质是原生php):a.原生嵌套<?php .....?&g ...
- 浅谈为什么一个java源文件中只能有一个public类?
声明,本篇文章为转载 转载 http://blog.csdn.net/bareheadzzq/article/details/6562211 最近在一个java文件中实现了几个类,其中一个声明为pub ...
- 为什么一个java源文件中只能有一个public类
问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件 ...
- JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换
首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是j ...
- 第7章 一个java源文件中只能有一个public类
一个Java源文件中最多只能有一个public类, 1)当有一个public类时,源文件名必须与之一致,否则无法编译, 2)如果源文件中没有一个public类,则文件名与类中没有一致性要求. 至于ma ...
- json字符串和表相互转化中遇到的一个严重问题
导致脚本崩溃的一个问题 Import "zm.luae" zm.Init Dim aaa="fdsf23423dsfsdf" dim 结果表=Encode.Js ...
- .NET Core在类库中读取配置文件appsettings.json
在.NET Framework框架时代我们的应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别 ...
- json简介及josn数组中取字符
1.json字符串就是字符串,只不过格式是Json格式的,以键值对的形式存在,键和值可以是字符串,数字,空值,数组等. json对象在花括号中书写,一个json对象包含多个键值对,json对象以花括号 ...
- Json schema 以及在python中的jsonschema
目录 1. JSON Schema简介 2. JSON Schema关键字详解 2.1 $schema 2.2 title和description 2.3 type 3 type常见取值 3.1 当t ...
- Jsp中使用EL表达式对字符串进行操作
用fn函数:<%@ taglib prefix="fn" uri="http://Java.sun.com/jsp/jstl/functions" %&g ...
随机推荐
- 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明
李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...
- 【HDOJ】4513 吉哥系列故事——完美队形II
这题目上学期就看了,不过最近发现可以用马拉车来解,而且还是基本算法. 稍微对回文串成立条件变形一下即可. /* 4513 */ #include <iostream> #include & ...
- Linux文件虚拟机系统只读Read-only file system的快速解决方法
问题描述:上周公司的私有云(底层架构是Openstack+KVM,目前稳定性还不够好,开发团队在改进中)一个计算节点挂掉,之后恢复后发现这个计算节点的所有Linux系统都变成只读了,复制文件提示:Re ...
- FireMonkey隐藏任务栏图标
FMX(FireMonkey)可以轻松实现很多VCL无法或难以实现的特效,所以将FMX程序作为界面,打包入DLL由VCL程序调用,是一个不错的方案.为了程序的完整性,你不想看见FMX程序在任务栏上显示 ...
- Codevs 3286 火柴排队 2013年NOIP全国联赛提高组 树状数组,逆序对
题目:http://codevs.cn/problem/3286/ 3286 火柴排队 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : ...
- Bzoj 3295: [Cqoi2011]动态逆序对 分块,树状数组,逆序对
3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2886 Solved: 924[Submit][Stat ...
- 基于TCP协议的服务器(多线程)
import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.IOException; impo ...
- 记录一次MVC3升级MVC4遇到的问题
前些天,项目组将项目从mvc3升级至mvc4,完了之后,发现突然涌现出一大堆问题.主要是在前端,Razor引擎升级导致的. Razor是从mvc3开始引入的,用过mvc2的就会知道,Razor用起来确 ...
- c语言的label后面不能直接跟变量申明
; goto JUMP; printf("x is : %d\n",x); JUMP: ; <=== 错误,lable后面不能申明变量,只能是表达式语句(statement) ...
- hdoj 1269 迷宫城堡【scc基础题目】
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...