[
    [
        {
            "cartId": 9223,
            "factoryId": 143,
            "goodId": 7260,
            "goodLogo": "upload/store/offlineGoods/20170907120024_635882.jpg",
            "goodName": "邦尼兔子毛绒玩具可爱兔公仔玩偶",
            "goodPrice": 160.0,
            "goodQuantity": 1,
            "goodSku": 19608,
            "goodSpec": "颜色:卡其,尺寸:80cm,",
            "isChecked": true
        }
    ],
    [
        {
            "cartId": 9211,
            "factoryId": 102,
            "goodId": 7193,
            "goodLogo": "upload/store/offlineGoods/20170823193504_901377.jpg",
            "goodName": "妮维雅 女士黑白出众爽身气雾150ml止汗干爽",
            "goodPrice": 48.9,
            "goodQuantity": 1,
            "goodSku": 19536,
            "goodSpec": "容量:150ml,",
            "isChecked": true
        }
    ],
    [
        {
            "cartId": 9207,
            "factoryId": 145,
            "goodId": 7274,
            "goodLogo": "upload/store/offlineGoods/20170912141647_622049.jpg",
            "goodName": "阳澄湖 清水村 大闸蟹礼券C",
            "goodPrice": 1909.0,
            "goodQuantity": 1,
            "goodSku": 19658,
            "goodSpec": "型号:2598型,",
            "isChecked": true
        }
    ]
]

用HiJson格式化:

使用的是JsonArray解析:代码如下:

实体类为OnlineCart:

private ArrayList<ArrayList<OnlineCart>> onlineCartList;
try {
JSONArray jsonArray = new JSONArray(goodJson);
for (int i = 0 ;i < jsonArray.length();i++){
ArrayList<OnlineCart> interList = new ArrayList<OnlineCart>();
JSONArray jsonArray1 = jsonArray.getJSONArray(i);
for(int j= 0;j<jsonArray1.length();j++){
OnlineCart onlineCart = new OnlineCart();
JSONObject jsonObject = jsonArray1.getJSONObject(j);
onlineCart.cartId = jsonObject.getInt("cartId");
onlineCart.factoryId = jsonObject.getInt("factoryId");
onlineCart.goodId = jsonObject.getInt("goodId");
onlineCart.goodLogo = jsonObject.getString("goodLogo");
onlineCart.goodName = jsonObject.getString("goodName");
onlineCart.goodPrice = jsonObject.getDouble("goodPrice");
onlineCart.goodQuantity = jsonObject.getInt("goodQuantity");
onlineCart.goodSku = jsonObject.getInt("goodSku");
onlineCart.goodSpec = jsonObject.getString("goodSpec");
onlineCart.isChecked = jsonObject.getBoolean("isChecked");
interList.add(onlineCart);
}
onlineCartList.add(interList);
}

无key值的json数组解析的更多相关文章

  1. web service json 数组解析

     boolean workexpMark = true;     // 美发师工作经历json数组解析     org.json.JSONObject jsonObject = new org.j ...

  2. 双层嵌套json字符串(即json对象内嵌json数组)解析为Map

    之前我层写过一篇文章,介绍了json与map的相互转化,但当时只涉及到单一的json对象或json数组,对json对象内嵌套这json数组的json字符串无法处理,这篇文章主要解决这个问题. 之前的那 ...

  3. 根据json对象的值替换json数组里的值

    功能: var fruitArry=[{name:'durian'},{name:'peach'},{name:'banana'},{name:'pitaya'},{name:'apple'},{na ...

  4. php url链接地址传数组方法 json_decode解析数组失败 经过url链接的json数组解析出错的解决方法 (原)

    先说出现的问题: 请求一个接口(例如  http://www.a.com/getmes.php)需要传一个数组参数 param ,值为 数组 array(0=>'刘师傅',1=>'1760 ...

  5. 前端学习之——js解析json数组

    ** 前端学习之——js解析json数组** 解析json数组即对JSONArray的遍历 一.对于标准的json数组如: var result=[{"flag":1," ...

  6. hive之Json解析(普通Json和Json数组)

    一.数据准备 现准备原始json数据(test.json)如下: {"movie":"1193","rate":"5", ...

  7. #PHP 数组添加元素、统计数组相同元素个数、改变数组key值~_~

    一.数组添加元素 1.定义和用法: array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度. 2.语法: array_push(array,value1, ...

  8. FastJson和Gson和Json数据解析分析和用法

    首先分析下目前号称最快的FastJson,这个是所有人都验证过的,解析速度确实比较快,不过也需要根据数据量来看,数据量小的时候,Gson性能要稍微优于FastJson,但在数据量大解析的情况下,Fas ...

  9. json手动解析详解

    项目中有时候仅仅需要一个或者多个字段时可以使用这种解析方式,省去创建实体类. 1.首先讲解下最基本的数据格式. 例如: String json="{'name':'小明','action': ...

随机推荐

  1. Spring事务管理Transaction【转】

    Spring提供了许多内置事务管理器实现(原文链接:https://www.cnblogs.com/qiqiweige/p/5000086.html): DataSourceTransactionMa ...

  2. django学习系列-01

    安装Django > pip install django==1.10.3(py2)或者>python3 -m pip install django==1.10.3(py3) 成功安装 D ...

  3. java实现PV操作

    package com.jayfulmath.designpattern.command; import java.util.concurrent.Semaphore; /* P(S): ①将信号量S ...

  4. ES2015中let的暂时性死区(TDZ)

    Tomporal Dead Zone (TDZ)是ES2015中对作用域新的专用定义.是对于某些遇到在区块作用域绑定早于声明语句时的情况.Tomporal Dead Zone (TDZ)可以理解为时间 ...

  5. 解析php addslashes()与addclashes()函数的区别和比较

    一. addslashes() 函数 addslashes(string) 函数在指定的预定义字符前添加反斜杠.这些预定义字符是:•单引号 (')•双引号 (")•反斜杠 (\)•NULL  ...

  6. "流量监管"和"流量整形"的区别

    "流量监管" (Traffic Policing) 就是对流量进行控制,通过监督进入交换机端口的流量速率,对超出部分的流量进行"惩罚" (采用监管方式时是直接丢 ...

  7. 【转】Castle.ActiveRecord的嵌套事务处理

    嵌套的情况下,怎么处理Castle.ActiveRecord的事务? 今天试了一下,原来还是很简单的,只需要使用Castle.ActiveRecord.TransactionMode.Inherits ...

  8. Unity3D for VR 学习(1): 又一个新玩具 暴风魔镜 4(Android)

    2016年伊始,有了VR虚拟现实硬件设备:  暴风魔镜4–好奇者的新玩具 . 2015年下半年的朋友圈中各种VR.AR的新闻层次不穷,搞的我也心痒痒的:好歹咱也是职业的Unity3D程序员,高大上的O ...

  9. x64 win64编译环境下ADO链接Access数据库的问题解决

    原文链接地址:https://blog.csdn.net/HW140701/article/details/71077579 Win32编译环境下,用ADO数据库连接Access数据库一般都不会报错, ...

  10. 基于Memcached分布式系统DRDoS拒绝服务攻击技术研究(转)

    本次反射式拒绝服务攻击技术基于全球互联网分布式的Memcached服务器,需要储备一定得安全攻防知识,网络协议知识和python代码编程技术.希望在学习本篇文章知识前自行学习相关的基础知识,文章后面同 ...