从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如何进行解析,谢谢各位大神。
一段JSON,如何进行解析
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- mythsaa 2013-01-22 14:11关注
[code="java"]
public class JSon2ModelTest {
public static void main(String[] args) {
Map map = new HashMap();
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 m=JSON.parseObject(str, Map.class);
Set s=m.keySet();
Iterator it=s.iterator();
//缓存分组后的数据的map对象
Map> mm=new HashMap>();
//缓存分组后的数据的map对象的key
List listKey=new ArrayList();//初始化缓存的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); } } }
}
[/code]这是测试的代码,你可以参考一下
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的
- ¥15 r语言蛋白组学相关问题
- ¥15 Python时间序列如何拟合疏系数模型