分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

Json数据解析

发布时间:2023-09-06 02:18责任编辑:顾先生关键词:暂无标签

Json数据解析

场景模拟

假如现在根据一个接口得到了一串Json字符串,我们要获取Json字符串中某一个数字,Json字符串如下

{ ???"result": { ???????"offset": 0, ???????"timeSpan": [ ???????????"2018/10/16", ???????????"2018/10/15" ???????], ???????"fields": [ ???????????"app_name", ???????????"time", ???????????"user_count" ???????], ???????"total": 11, ???????"end": 0, ???????"sum": [ ???????????[ ???????????????{ ???????????????????"val": 238285, ???????????????????"flag": -1 ???????????????} ???????????], ???????????[ ???????????????796749 ???????????] ???????], ???????"pageSum": [] ???}}

现在要获取 sum中val 对应的238285 这个值

准备

使用fastJson 阿里的

添加maven依赖

 ???????<dependency> ???????????<groupId>com.alibaba</groupId> ???????????<artifactId>fastjson</artifactId> ???????????<version>1.2.9</version> ???????</dependency>

解析

  1. 转换成JSONObject对象
String result = .....(就上面那个字符串)JSONObject hashMap = JSONObject.parseObject(result);

得到是一个result为JSONObject的对象,如图1.1

? 图1.1

这个JSONOBject内部有一个Map的成员变量

  1. 获取key为result,value为JSONObject的对象
JSONObject jsonObjectResult = hashMap.getJSONObject("result");

得到的JSONObjectResult如下图1.2:

? 图1.2

查看HashMap为sum的数据类型如图1.3

? 图1.3

  1. 获取key为sum,value为JSONArray的对象
JSONArray jsonArraySum = jsonObjectResult.getJSONArray("sum");

得到的jsonArraySum如下图1.4

? 图1.4

  1. 获取第一个JSONArray
JSONArray jsonArraySum0 = jsonArraySum.getJSONArray(0);

得到jsonArraySum0如图1.5

? 图1.5

  1. 获取第一个JSONObjecy
JSONObject jsonObject0 = jsonArraySum0.getJSONObject(0);

得到jsonObject0如下图1.6

? 图1.6

  1. 获取key为val,value等于238285
String value = jsonObject0.get("val").toString()

得到value如下图1.7

? 图1.7

源代码

String json = ...(上面的Json字符串)String value = ?JSONObject.parseObject(result) ???????????????????.getJSONObject("result") ???????????????????.getJSONArray("sum") ???????????????????.getJSONArray(0) ???????????????????.getJSONObject(0) ???????????????????.get("val").toString();

Json数据解析

原文地址:https://www.cnblogs.com/Krloypower/p/9796889.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved