【Java】提取JSON数值时遇到数组集合时使用的K-V方式转换
1.实体类转换方法
参照文章:http://www.cnblogs.com/dflmg/p/6933811.html
2.K-V方法(此方法比较笨,但是没有办法,我现在不知道有没有相关的简单API,只能自己手动拼出一个方法。import org.apache.commons.lang.StringUtils;)
String s = "{'request': {'enterpriseid': 55,'ownerCode': 'SunEee01','item': [{'itemName': '1熊孩子新疆无花果成品268g','itemType': 'ZC','barCode': '6924459400256','shelfLife ': 0, 'itemCode': 'xhzwhggcp_268'},
{'itemName': '2好孩子新疆无花果成品268g','itemType': 'ZC','barCode': '6924459400256','shelfLife ': 1, 'itemCode': 'xhzwhggcp_268'}]}}";
//String s = "{'request': {'enterpriseid': 55,'ownerCode': 'SunEee01','item': [{'itemName': '好孩子新疆无花果成品268g','itemType': 'ZC','barCode': '6924459400256','shelfLife ': 1, 'itemCode': 'xhzwhggcp_268'}]}}";
JSONObject jsonObject = JSONObject.fromObject(s);
//System.out.println(jsonObject); String request = jsonObject.getString("request");
//System.out.println(request); JSONObject vendorDO = JSONObject.fromObject(request);
//System.out.println(vendorDO); String ent = vendorDO.getString("item");
//对象实体类的方法System.out.println(ent);
/*JSONArray ents = vendorDO.getJSONArray("item");
List<Item> ss = (List<Item>)JSONArray.toList(ents,Item.class);
for(Item x:ss){
//如果item里面还有List对象作为属性就使用1的方法,参见http://www.cnblogs.com/dflmg/p/6933811.html
System.out.println(x.getItemName());
}*/ String[] many = ent.split("\\},\\{"); if(many.length==1){
String one = many[0].substring(1,ent.length()-1); JSONObject joss = JSONObject.fromObject(one);
String itemName = joss.getString("itemName");
System.out.println(itemName); }else{
for(int i=0;i<many.length;i++){
if(i==0){
String frist = many[i].substring(1)+"}"; JSONObject joss = JSONObject.fromObject(frist);
String itemName = joss.getString("itemName");
System.out.println(itemName); }else if(i==many.length-1){
String middle = "{"+StringUtils.substringBefore(many[i], "]"); JSONObject joss = JSONObject.fromObject(middle);
String itemName = joss.getString("itemName");
System.out.println(itemName);
}else{
String last = "{"+many[i]+"}"; JSONObject joss = JSONObject.fromObject(last);
String itemName = joss.getString("itemName");
System.out.println(itemName); }
}}
【Java】提取JSON数值时遇到数组集合时使用的K-V方式转换的更多相关文章
- 泛型集合List<T> Dictionary<K,V>
List<T>类似于ArrayList,ArrayList的升级版. 各种方法:Sort().Max().Min().Sum()… Dictionary<K,V>类似于Ha ...
- C# json对象中包含数组对象时,如何存入数据库
前端创建的的对象例如: C#端这样将数组提取出来存入
- Java源码 HashMap<K,V>
HashMap类 https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html public class HashMap<K, ...
- 数组中累加和为k的最大子数组的长度
package com.hzins.suanfa; import java.util.HashMap; public class demo { /** * 数组中累加和为k的最大子数组的长度 * @p ...
- PHP 二维数组根据某个字段按指定排序方式排序
/** * 二维数组根据某个字段按指定排序方式排序 * @param $arr array 二维数组 * @param $field string 指定字段 * @param int $sort_or ...
- Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合
Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合 摘要:本文主要记录了如何将将前端的对象数组通过Json字符串传到后端,并在后端将Json字符串转换为对象集合. 前端代码 前 ...
- 黑马程序员——JAVA基础之Collections和Arrays,数组集合的转换
------- android培训.java培训.期待与您交流! ---------- 集合框架的工具类: Collections : 集合框架的工具类.里面定义的都是静态方法. Col ...
- Java:Json与其他Java对象集合的转换
一.引入的jar包 json-lib-2.4-jdk15.jar 二.Json字符串转换为其他对象 1.对象==>json字符串 2.list和Map集合==>json字符串 3.Map集 ...
- java数组集合元素的查找
java数组和集合的元素查找类似,下面以集合为例. 数组集合元素查找分为两类: 基本查找: 二分折半查找: 基本查找: 两种方式都是for循环来判断,一种通过索引值来判断,一种通过数组索引判断. 索引 ...
随机推荐
- Android启动问题——黑屏、死机等解决方法
今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Faile ...
- TPO-21 C2 Which elective courses to take
/* 加粗:语音部分 * 红色:单词部分 * 斜体:语法部分 * 下划线:信号词/句 */ 第 1 段 1.Listen to a conversation between a student and ...
- 管理项目中的贴图-Texture overview插件
Texture overview插件管理项目中的贴图 1. Assetstore地址 2. 总览项目中所有贴图 3. 针对不同平台的贴图压缩设置 在插件的右上角 4. 支持多选批量修改 5. 点击表头 ...
- 一个可以自由存取的onedriver
https://cittedu-my.sharepoint.com/personal/jostin_5gd_me/Documents/jostin
- CentOS查看一共安装了多少软件包,是那些软件包
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48292853 一.如何得知共安装了多少个软件包 [root@localhost ~ ...
- python基础知识-12-模块的了解
python其他知识目录 1.模块介绍: Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句.模块让你能够有逻辑地组织你 ...
- Django_rest_framework_渲染器/解析器/路由控制/分页
目录 渲染器 解析器 路由控制 分页 渲染器 简介 什么是渲染器 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 渲染器的作用 序列化.友好的展示数据 渲染器配置 首先要在set ...
- HDU 1556 Color the ball (一维树状数组,区间更新,单点查询)
中文题,题意就不说了 一开始接触树状数组时,只知道“单点更新,区间求和”的功能,没想到还有“区间更新,单点查询”的作用. 树状数组有两种用途(以一维树状数组举例): 1.单点更新,区间查询(即求和) ...
- Scrum Meeting 10.30
成员 今日任务 明日计划 用时 徐越 配置servlet环境,设计开发文档 设计开发文档,配置服务器,使得本地可以访问服务器 5h 武鑫 软件界面设计:学习使用Activity和Fragment 设计 ...
- second scrum meeting - 151026
摘要:这一周的工作其实进行的并没有很迅速~不过我们团队的每个人都在慢慢进行自己的工作,并且我们也完成了大致的页面设计,开发了主页面的框架,并且我们也会开始着手学习服务器的操作,还有更加完善主页面的框架 ...