不规范的json数据如下:
[
[
{
"1":"",
"2":"",
"orders_id":"1232",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"39",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"1.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"松鼠鱼",
"enname":"Sweat and sour carp",
"frname":"请翻译",
"price":"148900.00",
"disprice":"1.00",
"category_id":"309",
"address":"",
"totprice":"11153",
"serviceprice":"0.00",
"servicename":"",
"teaprice":"-11153.00",
"finaltotprice":"11153.00",
"class":{
"GST":"",
"":""
}
}
] ,
[
{
"orders_id":"1233",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"42",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"1.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"Braised Intestines in Brown Sauce",
"enname":"Braised Intestines in Brown Sauce",
"frname":"请翻译",
"price":"0.01",
"disprice":"1.00",
"category_id":"30"
}
] ,
[
{
"orders_id":"1234",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"2353",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"12.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"红茶",
"enname":null,
"frname":"0",
"price":"12.00",
"disprice":"12.00",
"category_id":"30"
}
] ,
[
{
"orders_id":"1235",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"2615",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"28.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"剁椒鱼头",
"enname":null,
"frname":"0",
"price":"28.00",
"disprice":"28.00",
"category_id":"36"
}
] ,
[
{
"orders_id":"1236",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"4171",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"11111.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"随便",
"enname":null,
"frname":"0",
"price":"11111.00",
"disprice":"11111.00",
"category_id":"251"
}
]
]
[
{
"1":"",
"2":"",
"orders_id":"1232",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"39",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"1.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"松鼠鱼",
"enname":"Sweat and sour carp",
"frname":"请翻译",
"price":"148900.00",
"disprice":"1.00",
"category_id":"309",
"address":"",
"totprice":"11153",
"serviceprice":"0.00",
"servicename":"",
"teaprice":"-11153.00",
"finaltotprice":"11153.00",
"class":{
"GST":"",
"":""
}
}
] ,
[
{
"orders_id":"1233",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"42",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"1.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"Braised Intestines in Brown Sauce",
"enname":"Braised Intestines in Brown Sauce",
"frname":"请翻译",
"price":"0.01",
"disprice":"1.00",
"category_id":"30"
}
] ,
[
{
"orders_id":"1234",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"2353",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"12.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"红茶",
"enname":null,
"frname":"0",
"price":"12.00",
"disprice":"12.00",
"category_id":"30"
}
] ,
[
{
"orders_id":"1235",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"2615",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"28.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"剁椒鱼头",
"enname":null,
"frname":"0",
"price":"28.00",
"disprice":"28.00",
"category_id":"36"
}
] ,
[
{
"orders_id":"1236",
"code":"174302152841957859",
"table_id":"302",
"dish_id":"4171",
"part":"1",
"statu":"2",
"claim":"",
"create_time":"2018-06-08 08:59:38",
"garnish_id":"",
"garnish_part":"",
"label_id":"",
"company_id":"174",
"dish_claim":"",
"type":"密码下单",
"order_price":"11111.00",
"order_waiter":"扫码点餐",
"types":"0",
"print_status":"1",
"remind":"0",
"name":"随便",
"enname":null,
"frname":"0",
"price":"11111.00",
"disprice":"11111.00",
"category_id":"251"
}
]
]
解析步骤:
1.在写bean类的时候,把以上数据直接粘贴在GsonFormat中,你会发现,无法点击OK,那么你把最外层的大括号去掉,然后再点OK,这个时候就可以了。
2.用Gson解析的时候,还是按照json数据一层层解析,(解析前的log日志是确认你是否返回了数据),新new个集合,把得到
Log.e("requestNameData: ", string); Gson gson = new Gson(); List<List<Games>> listGames = gson.fromJson(string, new TypeToken<List<List<Games>>>() { }.getType()); if (listBean.size() <= 0) { listBean.addAll(listGames); adapter.notifyDataSetChanged(); }
3.在listView或RecyclerView的适配器中适配数据。
4.由于数据格式是数组->
数组->对象,所以不能按照常规适配数据
用for循环一次遍历数组,解析对象数据,然后新new一个集合,新建一个bean类,bean类是新new集合的泛型,把解析的数据添加到新new的集合中,用新new的集合给控件适配数据。
5.大功告成。