m0_53658864 2021-11-20 20:15 采纳率: 60%
浏览 24
已结题

Gson解析数组对象json文件

各位友友们,我最近刚刚学习Android,碰到一个问题:Gson如何解析数组类型的Json(只用Gson解析)

img

[
{
"shopId":1,
"shopName":"蛋糕房",
"shopPicture":"http://10.113.104.89:8080/order/img/shop/shop1.png",
"foodList":[
    { 
    "foodId":"1",
    "foodName":"招牌丰收硕果12寸",
    },
    {
    "foodId":"2",
    "foodName":"玫瑰花创意蛋糕",
    }        
    ]
}
]

不知道这类Json用gson如何解析,指望各位友友指点,最好能有代码!谢谢大家了!

  • 写回答

1条回答 默认 最新

  • hua-sky 2021-11-22 09:24
    关注

    1:手动在外面包一层 {"list":[]},用于符合Gson解析
    2:json数据格式不对 foodName 后面的逗号 ,要去掉
    json:{"list":[
    {
    "shopId":1,
    "shopName":"蛋糕房",
    "shopPicture":"http://10.113.104.89:8080/order/img/shop/shop1.png",
    "foodList":[
    {
    "foodId":"1",
    "foodName":"招牌丰收硕果12寸"
    },
    {
    "foodId":"2",
    "foodName":"玫瑰花创意蛋糕"
    }
    ]
    }
    ]
    }

    结果如下:

      class ResultBean {
            public ArrayList<Item> list = new ArrayList<Item>();
    
            class Item {
                public int shopId;
                public String shopName;
                public String shopPicture;
    
                public ArrayList<FoodItem> foodList = new ArrayList<FoodItem>();
    
                class FoodItem {
                    public String foodId;
                    public String foodName;
                }
            }
        }
    
     String json="{\"list\":[\n" +
                    "{\n" +
                    "\"shopId\":1,\n" +
                    "\"shopName\":\"蛋糕房\",\n" +
                    "\"shopPicture\":\"http://10.113.104.89:8080/order/img/shop/shop1.png\",\n" +
                    "\"foodList\":[\n" +
                    "    { \n" +
                    "    \"foodId\":\"1\",\n" +
                    "    \"foodName\":\"招牌丰收硕果12寸\"\n" +
                    "    },\n" +
                    "    {\n" +
                    "    \"foodId\":\"2\",\n" +
                    "    \"foodName\":\"玫瑰花创意蛋糕\"\n" +
                    "    }        \n" +
                    "    ]\n" +
                    "}\n" +
                    "]\n" +
                    "}";
            ResultBean result=   new Gson().fromJson(json,ResultBean.class);
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 11月20日

悬赏问题

  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题
  • ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
  • ¥20 海思 nnie 编译 报错
  • ¥50 决策面并仿真,要求有仿真结果图
  • ¥15 关于路由器的路由协议配置
  • ¥15 springboot接入微信支付SDK
  • ¥50 大区域的遥感影像匹配 怎么做啊
  • ¥15 求解答:pytorch跑yolov8神经网络受挫