json封装解析

作者: 好怕怕 | 来源:发表于2018-07-18 15:00 被阅读4次

封装

 // 存储json数据战斗记录
                JsonObject jsonObj = new JsonObject();

                uint battleTime = ServerTimeManager.Instance.GetServerCurTimeStamp();
                jsonObj["battleTime"] = new JsonProperty(battleTime);

                string uuid = string.Empty;
                jsonObj["uuid"] = new JsonProperty(uuid);
                string name = string.Empty;
                jsonObj["name"] = new JsonProperty(name);
                int level = 0;
                jsonObj["level"] = new JsonProperty(level);
                int avatar = 0;
                jsonObj["avatar"] = new JsonProperty(avatar);
                int score = 0;
                jsonObj["score"] = new JsonProperty(score);
                int isWin = result;
                jsonObj["isWin"] = new JsonProperty(isWin);

                List<Card> myCards = ClientDungeonData.Instance.TeamCards;
                List<JsonProperty> Items = new List<JsonProperty>();
                for (int i = 0; i < myCards.Count; i++)
                {
                    JsonObject obj = new JsonObject();
                    obj["id"] = new JsonProperty(myCards[i].ID);
                    obj["level"] = new JsonProperty(myCards[i].Level);

                    JsonProperty property = new JsonProperty(obj);
                    Items.Add(property);
                }
                jsonObj["cards"] = new JsonProperty(Items);
                battleRecord = jsonObj.ToString();

                JsonObject aaa = new JsonObject(battleRecord);
                JsonProperty action = aaa["cards"];
                List<Ladder.LadderRecordData.CardInfo> mCardInfos = new List<Ladder.LadderRecordData.CardInfo>();
                for (int i = 0; i < action.Items.Count; i++)
                {
                    Ladder.LadderRecordData.CardInfo info = new Ladder.LadderRecordData.CardInfo();
                    JsonObject obj = action.Items[i].Object;
                    JsonProperty property = obj["id"];
                    info.ID = (int)property.Number;
                    property = obj["level"];
                    info.Level = (int)property.Number;
                    mCardInfos.Add(info);
                }

数据格式

            public class CardInfo
            {
                public int ID;
                public int Level;
            }

            private uint mBattleTime;
            private string mUuid;
            private string mName;
            private int mLevel;
            private int mAvatar;
            private int mScore;
            private bool mIsWin;
            private List<CardInfo> mCardInfos;

解析

 public LadderRecordData(string record)
            {
                JsonObject jsonObj = new JsonObject(record);
                JsonProperty action = jsonObj["battleTime"];
                mBattleTime = (uint)action.Number;
                action = jsonObj["uuid"];
                mUuid = action.Value;
                action = jsonObj["name"];
                mName = action.Value;
                action = jsonObj["level"];
                mLevel = (int)action.Number;
                action = jsonObj["avatar"];
                mAvatar = (int)action.Number;
                action = jsonObj["score"];
                mScore = (int)action.Number;
                action = jsonObj["isWin"];
                mIsWin = (int)action.Number == 1;

                action = jsonObj["cards"];
                mCardInfos = new List<CardInfo>();
                for (int i = 0; i < action.Items.Count; i++)
                {
                    CardInfo info = new CardInfo();
                    JsonObject obj = action.Items[i].Object;
                    JsonProperty property = obj["id"];
                    info.ID = (int)property.Number;
                    property = obj["level"];
                    info.Level = (int)property.Number;
                    mCardInfos.Add(info);
                }

            }

相关文章

  • json封装解析

    封装 数据格式 解析

  • iOS之Json解析封装

    这次说Json解析封装,上篇写的Json拼接封装有朋友跟我说看的不太明白,因为没用到过服务器上传。这次的Json解...

  • 基于Gson封装的Java json工具类

    Gson版本: 2.8.5 点击这里查看: fastjson版本Json解析工具封装 代码

  • Json解析工具封装

    部分内容有错误,可以去参考其他几个,Gson解析可参考[https://blog.csdn.net/Eleganc...

  • Python爬虫小分队课程视频集

    课程视频 程工 Xpath语法解析 Json解析 mysql自动建表插入数据 函数和类封装调用 数据处理etl-e...

  • Gson泛型

    一、为何封装,如何封装 通常我们解析的json格式为 第一种的对应的Java类型为 Result ,第二...

  • ListView异步加载图片方法和滚动优化

    基本流程:1.异步任务从指定的网页中获取JSON信息,解析JSON数据,自定义JAVA BEAN对象封装所需要的数...

  • JSON

    JSON解析(反序列化) JSON解析(序列化) JSON解析补充

  • android 模型与json数据的相互转化

    如果喜欢copy直接看最下面的封装 一:工具 基础使用 对象的解析与转化json 属性重命名(当后台返回的json...

  • Json解析方式

    1.传统的JSON解析 1.1 生成Json 1.2 解析Json 2.Gson解析Json 2.1生成Json ...

网友评论

    本文标题:json封装解析

    本文链接:https://www.haomeiwen.com/subject/hwcsmxtx.html