【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);

            }
        }}
时间: 2024-10-05 05:01:56

【Java】提取JSON数值时遇到数组集合时使用的K-V方式转换的相关文章

C# json对象中包含数组对象时,如何存入数据库

前端创建的的对象例如: C#端这样将数组提取出来存入 原文地址:https://www.cnblogs.com/sangzs/p/11558595.html

算法题:找出一个数组中依次最大的k个元素

package arithmetic; import java.util.Arrays; /** * 找出一个数组中依次最大的k个元素 * @author SHI */ public class FindMaxFigure { public static void main(String[] args) { int[] a=new int[]{1,5,-1,8,0,2}; System.out.println(Arrays.toString(findBigFigure(a, 3))); } /*

数组中累加和为k的最大子数组的长度

package com.hzins.suanfa; import java.util.HashMap; public class demo { /** * 数组中累加和为k的最大子数组的长度 * @param arr * @param k * @return */ public static int maxLengh(int[] arr,int k){ if(arr == null || arr.length == 0){ return 0; } HashMap<Integer, Integer

改善java程序的151个建议--数组和集合

60.性能考虑,数组是首选,在基本类型处理方面,数组还是占优势的,而且集合类的底层也都是通过数组实现,建议在性能要求较高的场景中使用数组替代集合. 61.如果有必要,使用变长数组:我们可以通过对数组扩容"婉转"地解决数组扩容问题,下面采用的是Arrays数组工具类的copyOf方法,产生了一个newLen长度的新数组,并把原有的值拷贝了进去,之后就可以对超长的元素进行赋值了 62.警惕数组的浅拷贝 Person[] p=new Person[5]; Person[] p2=Arrays

Java将Excel解析为数组集合

Java将Excel解析为数组集合 相关 jar 包: jxl-2.6.jar jar 包下载:http://files.cnblogs.com/files/liaolongjun/excel-jar.zip /** * 返回上传的Excel表格的内容 */ public static List<String[]> parseExcel(InputStream is) throws Exception { List<String[]> list = new ArrayList<

Java读取json数组转化成List或Object数组

在之前的开发中经常遇到将List或Array转换成json传递到web前端, 供前端显示,但是今天我遇到了一个需要将json数组传递到后台,并在后 台转换成list的问题.为此我花费了一段较长的时间,为此我写下这篇博客. 首先是在前端用js构造json数组,html代码如下: <TABLE style="width: 900px" id="table"> <pre name="code" class="html&quo

java解析json

在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Json数据的方法示例. 用org.son构造和解析Json数据的方法详解请参见我下一篇博文:Java构造和解析Json数据的两种方法详解二 一.介绍 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json数据

Java:JSON解析工具-org.json

一.简介 org.json是Java常用的Json解析工具,主要提供JSONObject和JSONArray类,现在就各个类的使用解释如下. 二.准备 1.在使用org.json之前,我们应该先从该网址https://github.com/douglascrockford/JSON-java下载org.json源码,并将源码其加入到Eclipse中,即可调用. 2.查看相关的API文档,访问:https://github.com/douglascrockford/JSON-java. https

JAVA解析JSON相关

一json-lib.jar开发包使用依赖包 json-lib.jar开发包使用需要依赖包以下开发包: Json-lib requires (at least) the following dependencies in your classpath: * jakarta commons-lang 2.4 * jakarta commons-beanutils 1.7.0 * jakarta commons-collections 3.2 * jakarta commons-logging 1.1