0 0

一段JSON,如何进行解析10

从sFlow-rt提供的REST API得到了一段JSON数据,如何进行解析呢?
{
"17.ifInmulticastpkts": 0,
"17.ifindex": "17",
"17.ifindiscards": 0,
"17.ifinerrors": 0,
"17.ifinoctets": 0,
"17.ifinucastpkts": 0,
"17.ifoutdiscards": 0,
"17.ifouterrors": 0,
"17.ifoutoctets": 0,
"17.ifoutucastpkts": 0,
"17.ifspeed": 10000000000,
"17.iftype": "ethernetCsmacd",
"19.ifInmulticastpkts": 0,
"19.ifindex": "19",
"19.ifindiscards": 0,
"19.ifinerrors": 0,
"19.ifinoctets": 0,
"19.ifinucastpkts": 0,
"19.ifoutdiscards": 0,
"19.ifouterrors": 0,
"19.ifoutoctets": 0,
"19.ifoutucastpkts": 0,
"19.ifspeed": 10000000000,
"19.iftype": "ethernetCsmacd",
"21.ifInmulticastpkts": 0,
"21.ifindex": "21",
"21.ifindiscards": 0,
"21.ifinerrors": 0,
"21.ifinoctets": 0,
"21.ifinucastpkts": 0,
"21.ifoutdiscards": 0,
"21.ifouterrors": 0,
"21.ifoutoctets": 0,
"21.ifoutucastpkts": 0,
"21.ifspeed": 10000000000,
"21.iftype": "ethernetCsmacd",
"23.ifInmulticastpkts": 0,
"23.ifindex": "23",
"23.ifindiscards": 0,
"23.ifinerrors": 0,
"23.ifinoctets": 0,
"23.ifinucastpkts": 0,
"23.ifoutdiscards": 0,
"23.ifouterrors": 0,
"23.ifoutoctets": 0,
"23.ifoutucastpkts": 0,
"23.ifspeed": 10000000000,
"23.iftype": "ethernetCsmacd"
}
也就是每组数字对应的一个model,但是没有在JSON中分开,这样的JSON如何进行解析,谢谢各位大神。
2013年1月21日 23:24

5个答案 按时间排序 按投票排序

0 0

采纳的答案

public class JSon2ModelTest {
	public static void main(String[] args) {
		Map<String,String> map = new HashMap<String,String>();
		map.put("1.xx", "1xx");
		map.put("1.yy", "1yy");
		map.put("1.zz", "1zz");
		map.put("2.xx", "2xx");
		map.put("2.yy", "2yy");
		map.put("2.zz", "2zz");
		map.put("3.xx", "3xx");
		map.put("3.yy", "3yy");
		map.put("3.zz", "3zz");
		String str=JSON.toJSON(map).toString();
		Map<String,String> m=JSON.parseObject(str, Map.class);
		Set<String> s=m.keySet();
		Iterator<String> it=s.iterator();
		//缓存分组后的数据的map对象
		Map<String,List<String>> mm=new HashMap<String,List<String>>();
		//缓存分组后的数据的map对象的key
		List<String> listKey=new ArrayList<String>();
		
		//初始化缓存的map对象开始
		List<String> listInit=new ArrayList<String>();
		String t = it.next(); 
		String initKey = t.substring(0,t.indexOf("."));
		listKey.add(initKey);
		listInit.add(t);
		mm.put(initKey, listInit);
		//初始化缓存的map对象结束
		for(;it.hasNext();){
			String str2 = it.next();
			String temp = str2.substring(0,str2.indexOf("."));
			if(mm.containsKey(temp)){
				mm.get(temp).add(str2);
			}else{
				List<String> ll = new ArrayList<String>();
				listKey.add(temp);
				mm.put(temp, ll);
			}
		}
	}
}


这是测试的代码,你可以参考一下

2013年1月22日 14:11
0 0

转成Map对象,取出来keySet,然后根据条件将keySet分组,然后根据分组后的keySet从Map对象里获取值,组装成VO对象就好了呀

2013年1月22日 12:24
0 0

JSONObject jo = new JSONObject(sFlow-rt);
String 17.ifInmulticastpkts= jo.getString("17.ifInmulticastpkts");
....
....
其他都一样
用 json-org.jar

2013年1月22日 12:22
0 0

取出来后,再根据.进行分割再处理

2013年1月22日 11:03
0 0

一个在线的json格式化视图工具,很方便:
http://www.bejson.com/go.php?u=http://www.bejson.com/jsonviewernew/

2013年1月22日 11:01

相关推荐

    kettle解析json串

    ### Kettle与JSON解析概述 #### 1. **Kettle简介** - Kettle(Pentaho Data Integration,简称PDI)是一款开源的数据集成工具,广泛用于ETL(Extract-Transform-Load)任务。 - Kettle支持多种数据源,包括关系型...

    使用cJson在乐鑫 esp8266 如何解析一段json数据以及如何生成一段json数据。

    Esp8266 进阶之路28 【高级篇】教你轻松自如使用cJson在乐鑫 esp8266 如何解析一段json数据以及如何生成一段json数据。 - CSDN博客 https://blog.csdn.net/xh870189248/article/details/82459279

    易语言页面订单json解析

    本话题主要涉及使用易语言进行JSON解析,特别是针对页面订单数据的处理。 在“易语言页面订单json解析”项目中,核心任务是获取网页源码中的订单信息,并将其解析为可操作的数据结构。易语言是一种中文编程语言,...

    IOS之JSON数据解析

    总结来说,SBJson是一个强大的JSON处理工具,它简化了iOS应用中的JSON解析和编码工作。通过引入SBJson,开发者可以更加灵活地处理服务器返回的JSON数据,同时也能有效地处理可能出现的错误情况。无论是初学者还是...

    json 解析jar包

    2. **JSON到Java Bean**:如果你有一个Java Bean类,例如`User`,并且你有一段JSON字符串,你可以使用`fromJson()`方法将JSON转换为对应的Java对象。例如: ```java Gson gson = new Gson(); String jsonString =...

    Gson解析json数据

    解析这段JSON可以这样写: ```java String jsonString = "{\"users\":[{\"id\":1,\"name\":\"张三\"},{\"id\":2,\"name\":\"李四\"}]}"; Gson gson = new Gson(); UsersList userList = gson.fromJson(jsonString, ...

    奇葩json 数据 解析

    4. **使用JSON库尝试解析**:处理后的数据再用标准的JSON解析库,如苹果的`NSJSONSerialization`或者第三方库如`SwiftyJSON`进行解析。 5. **错误处理**:即使经过预处理,解析过程仍可能出现错误,因此在代码中...

    C++Json解析开源库

    JSON解析和构造是C++开发者经常需要处理的任务。本篇文章将深入探讨如何在C++中使用开源库进行Json的解析与构造,以适应在MFC(Microsoft Foundation Classes)和Win32程序中的应用。 标题所提及的"C++Json解析开源...

    json解析助手

    幸运的是,随着“json解析助手”的出现,这一挑战得以有效应对。 “json解析助手”是一款功能强大的工具,它专注于将复杂的JSON数据以树状结构的形式可视化呈现。这样的可视化方法使得开发者可以直观地浏览JSON数据...

    json解析器

    在给定的“json解析器”中,我们可以推测这是一段优化过的JavaScript代码,去除了空白和注释,适合在生产环境中使用。这段代码的功能是将接收到的JSON数据解析成HTML元素,这样可以直接在网页上显示,这对于交互式...

    Json解析.doc

    如果在解析过程中遇到JSON解析异常,会捕获异常并打印堆栈跟踪,然后返回`null`。 在这个例子中,解析JSON数据并显示在ListView中是Android开发中常见的场景。开发者通常会自定义适配器以提供更复杂的视图结构,而...

    基于simd指令集的json解析模块

    SIMD指令可以一次性检查多个字节,快速判断一段连续的字符序列是否符合JSON规范。此外,SIMD指令也可以并行处理数值转换,比如将字符串形式的数字转换为浮点或整型,显著提高解析速度。 lemire开发的这套JSON解析...

    水淼·JSON解析助手

    "水淼·JSON解析助手"是一款专为开发者设计的工具,旨在简化JSON数据的查看和理解过程。它能够帮助用户快速地浏览和分析JSON字符串的层次结构,这对于调试API接口、处理服务器响应或者理解复杂数据结构来说非常有用...

    使用JQUery解析JSON字符串

    当我们从服务器端获取到一个JSON字符串时,jQuery提供了一个便捷的方法`$.parseJSON()`(在新版本的jQuery中已被`$.getJSON()`替代)来解析这个字符串为JavaScript对象。例如,假设我们有以下JSON字符串: ```json ...

    解析json的gson

    这段代码将创建一个`Person`对象并将其转换为JSON字符串。`toJson()`方法是Gson的核心功能之一,它能够自动处理字段的序列化。 反过来,如果你想从JSON字符串创建Java对象,可以使用`fromJson()`方法: ```java ...

    json文件解析方法

    这段代码将JSON字符串转换为Python字典。 **序列化JSON(Serialization)** ```python python_dict = {"name": "John", "age": 30} json_data = json.dumps(python_dict) print(json_data) # 输出:'{"name": ...

    这里是一个json数据解析json对象数组的示例程序

    3. 使用第三方库Jackson进行JSON解析:`ObjectMapper`和`readValue`方法。 4. 泛型和类型擦除:利用`TypeReference`处理Java泛型类型信息。 通过这样的方式,我们能够高效地处理来自服务器或本地存储的JSON数据,将...

    CocoGUI_Json解析库

    总的来说,CocoGUI是一个致力于简化GUI开发的工具,通过JSON解析实现了数据驱动的界面设计。它使得非编程背景的设计人员也能参与界面的构建,同时为开发者提供了灵活的接口和高度可扩展性。虽然可能仍处在不断完善的...

    js解析json代码

    在JavaScript中解析JSON数据是一项非常基础且常用的操作。根据所提供的文件信息,“js解析json代码”这一标题明确指出了本文将探讨的主题,即如何利用JavaScript语言处理JSON格式的数据。描述部分进一步强调了这部分...

Global site tag (gtag.js) - Google Analytics