用java的谷歌库gson解析JSON,如下的json数据,该如何定义java类??

求高人指点,用java的谷歌库gson解析JSON,如下的json数据,该如何定义java类?? 在线等...............

{
"00:00:8e:d7:ba:ac:88:47": {
"flow-mod-3": {
"version": 1,
"type": "FLOW_MOD",
"length": 72,
"xid": 0,
"match": {
"dataLayerDestination": "00:00:00:00:00:00",
"dataLayerSource": "00:00:00:00:00:00",
"dataLayerType": "0x0000",
"dataLayerVirtualLan": -1,
"dataLayerVirtualLanPriorityCodePoint": 0,
"inputPort": 1,
"networkDestination": "0.0.0.0",
"networkDestinationMaskLen": 0,
"networkProtocol": 0,
"networkSource": "0.0.0.0",
"networkSourceMaskLen": 0,
"networkTypeOfService": 0,
"transportDestination": 0,
"transportSource": 0,
"wildcards": 4194302
},
"cookie": 45035997351236010,
"command": 0,
"idleTimeout": 0,
"hardTimeout": 0,
"priority": -32768,
"bufferId": -1,
"outPort": -1,
"flags": 0,
"actions": [ ],
"lengthU": 72
}
},
"00:00:8e:d7:ba:ac:88:46": {
"flow-mod-1": {
"version": 1,
"type": "FLOW_MOD",
"length": 72,
"xid": 0,
"match": {
"dataLayerDestination": "00:00:00:00:00:00",
"dataLayerSource": "00:00:00:00:00:00",
"dataLayerType": "0x0000",
"dataLayerVirtualLan": -1,
"dataLayerVirtualLanPriorityCodePoint": 0,
"inputPort": 1,
"networkDestination": "0.0.0.0",
"networkDestinationMaskLen": 0,
"networkProtocol": 0,
"networkSource": "0.0.0.0",
"networkSourceMaskLen": 0,
"networkTypeOfService": 0,
"transportDestination": 0,
"transportSource": 0,
"wildcards": 4194302
},
"cookie": 45035997351236010,
"command": 0,
"idleTimeout": 0,
"hardTimeout": 0,
"priority": -32768,
"bufferId": -1,
"outPort": -1,
"flags": 0,
"actions": [ ],
"lengthU": 72
},
"flow-mod-2": {
"version": 1,
"type": "FLOW_MOD",
"length": 72,
"xid": 0,
"match": {
"dataLayerDestination": "00:00:00:00:00:00",
"dataLayerSource": "00:00:00:00:00:00",
"dataLayerType": "0x0000",
"dataLayerVirtualLan": -1,
"dataLayerVirtualLanPriorityCodePoint": 0,
"inputPort": 1,
"networkDestination": "0.0.0.0",
"networkDestinationMaskLen": 0,
"networkProtocol": 0,
"networkSource": "0.0.0.0",
"networkSourceMaskLen": 0,
"networkTypeOfService": 0,
"transportDestination": 0,
"transportSource": 0,
"wildcards": 4194302
},
"cookie": 45035997351236010,
"command": 0,
"idleTimeout": 0,
"hardTimeout": 0,
"priority": -32768,
"bufferId": -1,
"outPort": -1,
"flags": 0,
"actions": [ ],
"lengthU": 72
}
}
}

4个回答

你先弄明白json格式吧,每一对大括号,基本可以定义一个类,蹭蹭嵌套,json的每个key就是字段名

xuexiuxiao
汤去三面 多指点一下,我刚弄json,像上面的json数据,"00:00:8e:d7:ba:ac:88:47"这是一个设备的ID,是不定的,怎么能当KEY?这种情况该如何处理?
接近 5 年之前 回复

你这种的无法解析,你让服务器给你改一下格式,

当做Map还可以。大括号你可以看成是Map,或者是类的属性。而中括号你可以看作是List或者是数组。也就是一对类的集合。

xuexiuxiao
汤去三面 请多指点。应该是你的思路。
接近 5 年之前 回复

To Code_M0nkey :请多指点。应该是你的思路。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Gson的解析Json数据的两种方式
0x00 前言 目前网络上有很多接口是Json形式的,Gson是谷歌开源的Json解析库,可以方便的将Java对象转换成Json字符串,也可以方便的将Json字符串转换成Java对象。 0x01 两种解析Json字符串方式 假设我们要解析的字符串是如下字符串: { "rst": 0, "msg": "ok", "data": { "cookie": "JSE
通过GSON 解析Json数据,但是不创建JAVA Bean的方式,获取对应的值
问题:一般我们会把对应的json数据解析后映射到对应的Java Bean上,但是现在项目底层变化,不能创建Java Bean.怎么通过字符串的方式获取到对应的Value? 解决思路: 首先,应该把Json转换为Map嵌套Map的格式,如果遇到数组,Gson会帮我们自动的转化成ArrayList。这个很关键。然后获取对应集合里面的元素。这个元素是个Map就继续获取。直到最后成为String.pack
GSON解析json中存在不确定实体类
这几天遇到个解析json的问题,返回的json数据中包含不同的实体类,实体类的键值是确定的但是类型是不确定的。(描述可能不对,下面给出json例子) json数据例子如下: String dataA = "{a:1, b:'Hello,world!', c:true, d:{aa:1}}"; String dataB = "{a:2, b:'Hello,world!', c:true, d:
Gson:Google的JSON解析库进阶使用
Gson是Google发布的一个开源Java类库,能够很方便的在Java对象和JSON字符串之间进行序列化和反序列化。目前主流进行JSON解析的开源库主要有Fastjson、Jackson、Gson等,各有优劣,在这篇文章中主要介绍一下Gson的进阶用法。
Gson解析json文件
##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含;** **2. []类型,即数据用[]包含;**    下面用个例子,简单的介绍gson如何解析json,仅使用~  先发两个json 内容  1、最外层是{}     {             "resp": "ok",
Gson使用及多层嵌套 json 定义类
问题描述对于简单的Json数据,其对应的java bean 也比较简单,尤其用GSON处理的时候。 但是如果是多层嵌套的json数据,如果是手工用JSONArray和JSONObject进行解析,还是可以的,虽然会繁琐一点。但是如果用GSON开源库解析,有该如何定义java bean呢? 如果定义不好,会出现NEP空指针异常。分析在我的项目中,有这样的一段代码, public TopicApi
Gson解析和封装json数据
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 示例代码: Gson gson = new Gson(); int[] ints = {1, 2, 3, 4, 5}; String[] strings = {"abc", "def", "ghi"};
使用HttpURLConnection请求Gson网络解析数据
解析 JSON 数据 使用官方提供的 JSONObject,也可以使用谷歌的开源库 GSON.package com.gaoo.httpclientdemo;import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatAct
Gson解析嵌套JSON格式数据
来源说明:最近在无聊,刚刚又想学一下安卓的APP, 刚刚好看到"中国天气网"那里面的有免费的API.刚刚好又想到用GSON解析,我学了一下. 1.数据格式{ "user":"zhangsan", "c": { "c1": "101010100", "c2": "beijing" }, "f": { "f1": [{
通过GSON解析复杂json数据(二)
这里我们依旧用上文中的 json 字符串 , 由于转换为 map 依旧需要 javaBean , 所有我们的实体对象也不发生改变 这里我们需要活用 java 反射和类型对比实现需求先看代码import java.beans.IntrospectionException; import java.beans.PropertyDescriptor; import java.lang.reflect.
Google Gson解析Json数据应用实例
1.需要的Jar包     1) Google Gson(gson-xxx.jar)下载地址:http://code.google.com/p/google-gson/downloads/list     2)JUnit4 2. 应用实例代码     下载地址:http://download.csdn.net/source/3499627 包括如下类: 1)普通
使用Gson解析复杂的JSON数据
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,目前广泛使用。本文主要讲解android如何解析复杂格式的JSON数据,适合android初学者和初步接触JSON的人JSON相关介绍首先了解一下JSON的相关内容,JSON中的数据是以键值对的形式出现的。例如”name”:”jack”;这就是一个键值对,可以理解为name=jack。JSON中很重要的两个
JAVA_Gson解析json工具类封装
package com.springSecurity.gson; import java.util.ArrayList; import java.util.List; import java.util.Map; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google
Gson解析JSON数据中动态未知字段key的方法
有时在解析json数据中的字段key是动态可变的时候,由于Gson是使用静态注解的方式来设置实体对象的,因此我们很难直接对返回的类型来判断。但Gson在解析过程中如果不知道解析的字段,就会将所有变量存储在一个Map中,我们只要实例化这个map就能动态地取出key和value了。先给出一段jsondata,这是天气预报的数据,其中day_20151002这种key是随日期而变化的,在实体类中就不能当做
2018-Gson解析和创建json
使用Gson解析和创建json概述本文主要讲述了如果使用gson来解析含有数组和对象等比较复杂的json,比如对象中含有对象,对象中有list等。首先会介绍如何在Android Studio中使用插件方便的将json映射成对象,然后使用gson实现对象和json的相互转化,最后会详细介绍如何使用泛型封装服务器回调。如果需要手动解析请参考:Android手动创建和解析Jsongson的github地...
解析JSON数据的详细步骤以及偷懒技巧(使用第三方库GSON以及GsonFormat工具)
解析JSON数据的详细步骤以及偷懒技巧(使用第三方库JSON)
Java创建和解析Json数据方法(五)——Google Gson包的使用
Gson包中,使用最多的是Gson类的toJson()和fromJson()方法: ①toJson():将java对象转化为json数据(一般为json格式的字符串) (序列化) ②fromJson():从json数据(json格式字符串)转为java对象 (反序列化) 也可以使用JsonObject和JsonArray类的无参构造函数创建实例,然后调用add()方法来构造json数据,用法与org.json包和json-lib包差不多,但却少了一些方法;这里使用Gso
java解析json,不使用javabean
package test; import java.io.File; import java.io.IOException; import org.json.JSONException; import org.json.JSONObject; import org.jsoup.Jsoup; import tool.MyFileWriter; public class JsoupOp {
使用GSON解析复杂的JSON数据(有DEMO)
Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,使用它我们可以很方便的解析JSON数据,把JSON据输出填充到对应得对象内,然后通过对象去调用我们解析到的数据。                  例如我们要解析一下JSON数据 ,详细步骤如下:         String json = {"a":"100","b
使用Gson结合泛型类灵活解析JSON数据
一般比较规范的后端JSON返回数据,会遵循一些指定的JSON格式,比如: 错误: { "status": -1, "data": null, "err": "not_found" }正确: { "status": 0, "data": { "price": 4, "name": "脉动", "type":
Android之使用GSON解析JSON数据
GSON简介:GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。GSON可以很容易的将一串JSON数据转换为一个Java对象,或是将一个Java对象转换为相应的JSON数据。使用GSON解析JSON数据的基本步骤:1.导入jar包 gson.jar可点击右侧获取获得:gson-2.2.4.jar jar包导入方法可参考我的另一篇博客:AndroidStudi
gson递归解析json数据
直接用api文档中的例子来说明: json数据: [{"id": 912345678901,"text": "How do I read JSON on Android?","geo": null,"user": {"name": "android_newb","followers_count": 41}},{"id": 912345678902,"text": "@android_newb
Gson解析JSON数据实例
{ "respBody": { "timestamp": "1482745098465", "enableTingyun": true, "recommendIcon": "http://27.151.112.180:8005/xyzqylb2.1/images/icon/20161226173818/FDD683F0001145DAB5.png", "splas
GSON解析JSON保存到数据库
今天给大家带来的文章为通过Gson解析json数据并快速保存至数据库的文章。我们要保存是json对象数组,本文中的json数组并非从后台获取,为了演示,直接手动构造。 需要保存到数据库的是手机的品牌和型号。所以,我们需要新建一个bean实体类去保存我们的型号和品牌。在这,我先介绍2个工具,一个是Google官方的Gson解析jar包。 名为Gson.jar,这个百度下载就可以了。另外一
GSON解析json数据详解
GSON JSON 介绍 Gson 下载 Gson 解析 和 格式化 Gson 格式化 Gson 解析 Json 介绍 Json 全称 JavaScript Object Natation ,用来描述数据结构,它是基于纯文本的数据格式,是一种轻量级的数据交换格式。广泛应用于 服务端 与 客户端 的数据交互。 格式 Json 以 ke
使用volley请求数据,Gson解析json的时候出现中文乱码问题
使用volley请求数据,Gson解析json的时候出现中文乱码问题?测试过的应该不会出现什么问题!
利用GSON解析简单Json字符串
之前一直使用fastjson来解析json串,性能高,上手快,简单易学不错的! 最新听说fastjson爆出一个安全漏洞,只能寻找新的json库替代,就找到了gson,google开发的一款解析json的库, 平时工作中,复杂的json串解析用不太多,一般就是最基本的json串 用gson解析简单json串的示例如下: String jsonString = "{\"uid\":\"189
使用Gson解析特殊Json数据
之前做项目的时候,由于服务器端使用的是项目组内封装的大数据+Struts的框架,因此返回的Json数据格式与众不同,最开始使用Java本身的Json解析类库及其方法,后来发现解析不了,可能数据非标准Json吧,万般无奈之下,在各大技术论坛进行搜索询问,得知Google推出了Gson解析包,于是数据解析问题迎刃而解。        下面讲一下使用Gson的方法,我以项目中遇到的数据为例,数据格式如下
通过GSON解析复杂json数据(一)
普通的Json数据通过 JSONObject 和 GSON 很容易可以解析 如 : String str = “[{\”travelCode\”:\”20170516010002\”,\”startTime\”:\”2017-06-03\”,\”endTime\”:\”2017-06-05\”,\”pagenum\”:\”\”}”]; 这是最简单的 JSON 数据格式 ,两端的中括
JSON数据解析:Gson(谷歌)和fastjson(阿里巴巴)的异同点
Gson和fastjson分别为谷歌和阿里巴巴对JSON数据进行处理封装的jar包 Gson(谷歌)和fastjson(阿里巴巴)两者异同点
解决Gson解析Json时,Json 中Key为Java关键字的问题
这里写链接内容
Java 手动解析Json数据小记
前言:Json数据现在用自动解析的会比较多,手动解析的示例还是在这里小记一下。 原文出处: public static void main(String[] args) throws JSONException { String json = "{status:2,result:[{company_name:'科大',company_id:1}, " + "{compa
利用gson解析和生成json数据(一)
在android开发中经常需要操作json数据,利用谷歌提供的gson
最简单简洁高效的Json数据解析
一.无图无真相 二.主要代码 1.导入jar包 拷贝fastjson.jar包到工程libs包下2.封装工具类JsonUtil.javapackage com.example.parsejsondemo;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.f
json解析的常用方式(不使用第三方库)
  解析json数据有很多种方法,可以使用官方提供的JSONObject,也可以使用谷歌的开源库GSON,另外,一些第三方的开源库如Jackson,FastJSON等也非常不错。接下来主要学习前两种解析方式的用法。 JSONObject json数据: [{"id":"5", "version":"2.1", "name":"c book"}, {"id":&
Gson基本使用 -- 解析json,jsonArray。将任意java对象转化为json格式
    Gson是一款帮助解析Json,JsonArray和将Java对象转换为Json格式的框架。    Github地址:https://github.com/google/gson一、将json解析为java对象先看效果图代码实现1.在app模块的build.gradle的dependencies中引入Gsonimplementation 'com.google.code.gson:gson...
Java 用gson生成json数据
来自:http://www.imooc.com/learn/304 我们利用Google 提供的gson包生成如下格式的json数据:{ "result": 1, "personData": [ { "name": "Tom Green", "age": 22, "url": "https://
Gson解析json数据
json解析我们不陌生了,不过每次编写解析的代码时总是很头疼,一堆很无聊的代码,如果有50个接口那就得写50个相似的解析处理。其实谷歌和阿里很早就推出了解析json的工具包,谷歌的Json,阿里的FastJson,还有一个jackJson。有人说jackJson解析速度快,大数据时FastJson要比Json效率高,小数据时反之。不过我还是偏爱谷歌的Json,即使效率可能偏低,但是稳定性肯定没得说
GSON解析复杂的JSON数组
GSON的两个重要方法   在GSON的API中,提供了两个重要的方法:toJson()和fromJson()方法。其中,toJson()方法用来实现将Java对象转换为相应的JSON数据,fromJson()方法则用来实现将JSON数据转换为相应的Java对象。
Android基础之使用Gson解析json数据 第一弹
Android基础之使用Gson解析json数据 第一弹首先介绍一下JSON数据的格式 JSON数据 JSON对象 实体类对象 {……..} JSONObject Map [……..] JSONArray List * 总结:JSON只有两种格式,一种是大括号,表示一个JSONObject对象,一种是中括号,表示JSONArray数组 数据 解析后的数据类型
使用Gson解析Json字符串(实际项目)
见另一篇博文如何准备好jar包;需要转的Json字符串很复杂,多层嵌套; 例如:{ "status": { "success": true, "code": 0 }, "datalist": [ { "rank": 1, "nickname": "李惠顺",
利用Gson解析多层嵌套的JSON数据
数据实例:{ "error": 0, "status": "success", "results": [ { "currentCity": "青岛", "index": [ { "title": "穿衣",
Android学习 (十八) 用GSON解析JSON数据并在ListView中显示
这几天一直在学习用GSON解析JSON并通过自定义的Adapter显示在ListView上面,现在来做一些记录。 在Android项目中添加GSON的步骤在上一篇博客提到过。这是一个实现目标的大体思路:这里,说明一下。JSON文件里面的数据关键字需要和你自定义类里面的变量对应。这是我项目里面的java文件列表。其中: LisView是通过在InstitutionActivity的XML文件中显示
Gson解析嵌套json
Gson解析嵌套json
如何统一解析JSON数据,使用Gson结合泛型类灵活,让您一劳永逸
作为一名android 客户端开发人员,学会解决问题和总结问题的习惯是很重要的。。。那么我们app接口数据返回通常是以下格式: {"code":"0000","data": {"code":"0002","resultData":null,"resultMsg":"用户Token过期,请重新登入","error":[],"msg":""} 把以上的json数据放在线JSON字符串转Java实体
使用Gson解析两种复杂的json数据
众所周知,我们在做新闻、天气预报等类型的app的时候,经常会碰到需要将获取的json网络数据进行数据解析,以方便我们获取需要的信息并进行封装显示,这时候我们有两种解析方式:原生解析和Gson框架解析;         接下来就这两种解析方式进行一个总结:        一:Gson框架解析 注意:在我们进行实体类封装时,我们需要获取的数据,如果有父类,我们也需要将父类封装起来,不然我们就获取
【android】利用volley+Gson POST json请求来接收jsonObject并解析json数据
这里安利一个介绍volley几种常用方法的blog:http://blog.csdn.net/fenghai22/article/details/44061307 进入正题,当request header中content-type = application/json时,说明需要post一个json才能获取response。volly提供了一个方法: public JsonObjectRe
Http获取Json数据,并用Gson解析
对于http访问服务器获取json数据,每个xi
快速、高效解析Json数据之FastJson
2018/3/27更新:Gson解析看这里->快速、高效解析Json数据之Gson 为什么使用FastJson? 解析速度快、解析方便、使用简单。 首先,看一下解析的代码量 iu = FAST.parseObject(JsonString.JsonStringValues, info_util.class);//取得第一层JSONObject du = FAST.parseObjec...
Google的JSON解析库Gson的使用
该项目的github地址:Gson   本篇文章主要参考自:Gson User Guide    JsonObject的解析  比如你有下面这样的一个JsonObject:  { "_id":"OXBGzgE9exNkAP6v8reFIDcZOwrG27MInNXZ4aRXSQUX2GK7OD3i7qXj3HmeYOGg", "ttl":7200, "created"
立即提问