Android开发之JSON数据的格式问题

你考虑过json数据的结构的正确姿势吗?

可能这个问题根本不需要咱们搞前端开发的去考虑,因为这是后台的事!

可是我却碰到了需要和后台一起商量json数据的格式问题。

简单的说,

先来条错误的json数据

[
    "Banner":
    [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "id": 6, 
            "title": "66"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "id": 7, 
            "title": "66"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/ad_zhengping.jpg", 
            "id": 8, 
            "title": "88"
        }
    ], 
    "Product":
    [
        {
            "image": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "full_name": "小猫", 
            "name": "小猫", 
            "id": 1282
        }, 
        {
            "image": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "full_name": "小狗", 
            "name": "小狗", 
            "id": 1280
        }
    ], 
    "Around": 
    [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "address": "66", 
            "star": 3, 
            "latitude": "66", 
            "id": 6, 
            "title": "66", 
            "longitude": "66"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "address": "77", 
            "star": 2, 
            "latitude": "77", 
            "id": 7, 
            "title": "77", 
            "longitude": "77"
        }
    ], 
    "Reward": 
    [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "latitude": "77", 
            "id": 14, 
            "title": "77", 
            "content": "77", 
            "longitude": "77"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "latitude": "77", 
            "id": 14, 
            "title": "77", 
            "content": "77", 
            "longitude": "77"
        }
    ], 
    "Community": 
    [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "id": 11, 
            "title": "77", 
            "content": "77"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "id": 12, 
            "title": "88", 
            "content": "88"
        }
    ]
]

乍一看,没啥问题!

如果去解析(原生的方法)

JSONArray jsonArray = new JSONArray(JSON);

你会发现这里需要一个int型的数据,而不是我们想要的String类型的“banner”。

问题就出在第二个中括号那里。


只有JSONObject才能是String的。

所以JSON数据应该修改为:

{
    "Banner": [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "id": 6, 
            "title": "66"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "id": 7, 
            "title": "66"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/ad_zhengping.jpg", 
            "id": 8, 
            "title": "88"
        }
    ], 
    "Product": [
        {
            "image": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "full_name": "小猫", 
            "name": "小猫", 
            "id": 1282
        }, 
        {
            "image": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "full_name": "小狗", 
            "name": "小狗", 
            "id": 1280
        }
    ], 
    "Around": [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "address": "66", 
            "star": 3, 
            "latitude": "66", 
            "id": 6, 
            "title": "66", 
            "longitude": "66"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "address": "77", 
            "star": 2, 
            "latitude": "77", 
            "id": 7, 
            "title": "77", 
            "longitude": "77"
        }
    ], 
    "Reward": [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "latitude": "77", 
            "id": 14, 
            "title": "77", 
            "content": "77", 
            "longitude": "77"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "latitude": "77", 
            "id": 14, 
            "title": "77", 
            "content": "77", 
            "longitude": "77"
        }
    ], 
    "Community": [
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/w.png", 
            "id": 11, 
            "title": "77", 
            "content": "77"
        }, 
        {
            "img": "http://192.168.0.105:8080/easy-shopping/upload/image/qw.png", 
            "id": 12, 
            "title": "88", 
            "content": "88"
        }
    ]
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值