一起撸个朋友圈吧(step2) - 数据结构(JSON结构)【下】篇

项目地址:https://github.com/razerdp/FriendCircle
一起撸个朋友圈吧这是本文所处文集,所有更新都会在这个文集里面哦,欢迎关注

上篇链接:http://www.jianshu.com/p/94403e45fbef
下篇链接:http://www.jianshu.com/p/720d5a7c75a7

在上篇,我们弄出了一张结构图,这一篇稍微无聊,我们就对着结构图把朋友圈的JSON字符串模拟出来
ps:图片什么的,都来自网络


结构图

开始之前,先针对一些常量进行定义:

  • 所有的布尔值采用0,1来定量
  • id全部解析为long值
  • 关于动态类型:
    • 纯文字动态值为:【10】
    • 图文动态值为:【11】
    • 小视频,虽然暂时不做,但也预留定义值为:【12】
    • 网页分享值为:【13】
    • 广告,目前忽略,预留值:【14】

那么下面开工吧,JSON的编辑我们可以随便上网找到json online编辑器,这里就不详述了。

首先定义一下我们的根节点value:

根节点

我们的根节点包含的是一般请求拥有的东西,比如状态码,时间戳什么的,

在根节点我们还需要设有startloadmore这两个值,这两个值涉及到客户端分页识别。

同时还需要有朋友圈拥有者的信息,具体的说就是有id,头像,朋友圈封面等。


接下来我们定义我们的数据内容部分:

首先插入一个json array,然后根据导图定义我们每一个的object

先定义我们共有的部分,结构如下:

大致结构

array存的是请求一定数量的动态,可以看到,我们的第1个object存的是我们共有数据,展开图如下:


展开图

其中我们可以看到user相关的其实重复性很大,解析的时候跟hostInfo可以共用一个bean,所以看起来很多个bean,实际上都是可以复用的。
接下来看看点赞列表和评论列表的展开图

点赞列表
评论列表

点赞列表内容忽略,只是简单的记录用户信息

而评论列表内容则需要注意的是用户B(被回复者)是否为空的问题:

  • 用户B为空,则证明这是一条创建评论,即对朋友圈的评论
  • 用户B不为空,则证明这是一条回复评论,即对用户的评论创建的评论,此时用户B应是创建评论的那位。(界面上展示为:A 回复 B:xxxx)

共有的数据就是以上的这些,下面就是非共有数据,此处展示图文混编类型,需要注意的是,这里的数据必须要跟动态类型相对应,在客户端会识别出类型然后对应载入数据,如果这里没有对应,极有可能会有NPE(空引用)崩溃


非共有部分:

非共有

我们用一个object装起来,在本地解析的时候,这个object内容应有所有类型的,比如图片就是一个List<String> imgs,网页就是一个bean,这样我们就不需要管具体的解析,只需要管理这个bean里面的对象是否为空就好(用的GSON解析)

至此,我们的JSON大致就是这样,这一篇仅仅弄了一条朋友圈,一条朋友圈就有这么多的信息,如果是商业用,建议压缩一下。

ps:本项目大概需要用100条各种各样类型的,待我整理好后发布到git上。
ps2:春节假期就快结束了,初八就要上班去了,可以静下心来整理所学知识的时间没有连续的一块空间了(栈←_←),所以更新可能会慢,但在撸出朋友圈之前,在下是不会放弃的-V-


附录(本篇JSON数据):

{
  "hostInfo": {
    "hostAvatar": "http://img5.duitang.com/uploads/item/201406/26/20140626190424_TCXuP.jpeg",
    "hostId": 1001,
    "hostNick": "羽翼君",
    "hostWallPic": "http://b.zol-img.com.cn/desk/bizhi/image/7/1366x768/1454549752274.jpg"
  },
  "moments": [
    {
      "userInfo": {
        "userAvatar": "http://img4.duitang.com/uploads/item/201409/12/20140912142254_53fUf.thumb.700_0.jpeg",
        "userId": 1002,
        "userNick": "简简"
      },
      "dynamicInfo": {
        "hasPraised": 0,
        "dynamicId": 1,
        "canDelete": 0,
        "type": 11,
        "createTime": 1455420309
      },
      "textField": "这是第一条图文混编朋友圈哦",
      "praiseList": [
        {
          "userId": 10010,
          "userNick": "拉拉"
        },
        {
          "userId": 10011,
          "userNick": "帕帕"
        },
        {
          "userId": 10012,
          "userNick": "咔咔"
        }
      ],
      "commentList": [
        {
          "content": "这是第一条评论哦",
          "id": 2001,
          "canDelete": 0,
          "userA": {
            "userId": 10010,
            "userNick": "拉拉"
          }
        },
        {
          "content": "拉拉你好,我是帕帕 -V-",
          "id": 2002,
          "canDelete": 0,
          "userA": {
            "userId": 10011,
            "userNick": "帕帕"
          },
          "userB": {
            "userId": 10010,
            "userNick": "拉拉"
          }
        },
        {
          "content": "我是咔咔,这是一条非回复评论",
          "id": 2003,
          "canDelete": 0,
          "userA": {
            "userId": 10012,
            "userNick": "咔咔"
          }
        }
      ],
      "content": {
        "imgs": [
          "http://tupian.qqjay.com/u/2013/1127/19_222949_14.jpg",
          "http://tupian.qqjay.com/u/2013/1127/19_222949_3.jpg",
          "http://tupian.qqjay.com/u/2013/1127/19_222949_4.jpg"
        ]
      }
    }
  ],
  "errStr": "请检查网络配置",
  "loadMore": 1,
  "requestTime": 1455420309,
  "requestcode": 200,
  "start": 0
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容