你考虑过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" } ] }