C#使用litJson解析Json(二)

目录

  • 使用的第三方库
  • 添加的引用
  • 举例说明
  • 小结

阐述

  • litJson作为优秀的第三方库,是解析Json很好的工具。

  • 使用的第三方库

 添加引用 litJson,如下两个引用可直接添加System.ServiceModel.Web,System.Runtime.Serialization
  • 添加using指令集
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using LitJson;

举例子说明

  • 解析Json本地文件,可以是.txt,可以是如.json,.cgf其他文件格式文件

  • 首先本地Json文件中的数据如下,是接口中解析出来的数据格式。

{
    "library": [{
        "materialManufacturer": "11",
        "regularLabelling": "",
        "sheetLabelling": ""
    }, {
        "materialManufacturer": "fqwfewq",
        "regularLabelling": "",
        "sheetLabelling": ""
    }]
}
  • 先定义两个类,第一个类内容和之前的一致,此处要根据Json数据灵活变通,刚开始理解Json文件中的数据结构很重要。不过Json长得都差不多。
       //一个材料信息,包含如下成员
        public class MaterialItem
        {
            public static List<MaterialItem> materialList = new List<MaterialItem>();
            public string materialManufacturer { get; set; }
            public string regularLabelling { get; set; }
            public string sheetLabelling { get; set; }
        }
        //材料类
        public class Material
        {
            public Material()
            {
                MaterialItem = new MaterialItem();
            }
            public string matrail { get; set; }
            public MaterialItem MaterialItem { get; set; }
        }
  • 方法的调用,文件路径自己定义
        /// <summary>
        /// 主方法
        /// </summary>
        /// <param name="args"></param>
        public static void Main(string[] args)
        {
            //Json文件的具体路径
            string filePath = @"C:\Users\170125\Desktop\json\json.txt";
            GetJsonData(filePath);
        }
  • 解析Json的方法封装,没有GET请求这就更简单了,从指定路径中读取文件信息转化成JsonData类,然后再序列化里面的数据。
        /// <summary>
        /// Json解析的方法封装
        /// </summary>
        /// <param name="tmpUrlI">传入的接口Url</param>
        /// <param name="tmpKeyName">签名</param>
        /// <param name="tmpKeyValue">认证</param>
        public static void GetJsonData(string tmpFileI)
        {
            JsonData jsonData = JsonMapper.ToObject(File.ReadAllText(tmpFileI));
            //如果获取的Json文件不为空
            if (jsonData != null)
             {
                    //取library下键值字典
                    JsonData jsonDicList = jsonData["library"];
                    //foreach循环
                    foreach (JsonData item in jsonDicList)
                    {
                        MaterialItem JO = new MaterialItem();
                        JO.materialManufacturer = item["materialManufacturer"].ToString();
                        JO.regularLabelling = item["regularLabelling"].ToString();
                        JO.sheetLabelling = item["sheetLabelling"].ToString();
                        //将信息添加到list集合中
                        MaterialItem.materialList.Add(JO);
                    }
            }
        }

小结

  • Json是数据与数据之间进行交互,很快捷的方式之一。
  • 程序一般都遵循 Don't repeat yourself,因为程序代码很多,核心的东西却是唯一的。希望你能找到这两篇文章的交集,然后衍生出自己的思路和想法。

感激

星星之火可以燎原,今日点滴的付出,是日后的苦尽甘来。莫愁前路漫漫,天下谁人不识君。感谢你阅读此文稿,也希望你能不吝赐教。推荐比较全面的个人学习网站,希望对你有帮助。

关于作者

  var normalChild = {
    nickName  : "墨客码",
    site : "http://www.cnblogs.com/gss0525/"
    descTarget : ".net后台开发者,热衷分享技术,心怀感恩,深耕不缀。"
  }

转载于:https://www.cnblogs.com/gss0525/p/10209996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity中使用LitJson解析嵌套的JSON可以通过JsonMapper.ToObject方法来实现。首先,你需要将JSON字符串转换为JsonData对象,然后可以通过索引或键值对的方式来获取嵌套的JSON数据。例如,你可以使用以下代码来解析嵌套的JSON: ```csharp string json = "{\"name\":\"John\",\"info\":{\"age\":25,\"sex\":\"male\"}}"; JsonData jsonData = JsonMapper.ToObject(json); string name = jsonData\["name"\].ToString(); int age = (int)jsonData\["info"\]\["age"\]; string sex = jsonData\["info"\]\["sex"\].ToString(); Debug.Log(name + " " + age + " " + sex); ``` 在上述代码中,我们首先将JSON字符串转换为JsonData对象,然后通过索引获取顶层的"name"属性的值,以及嵌套的"info"属性下的"age"和"sex"属性的值。最后,我们使用Debug.Log输出这些值。这样就可以解析嵌套的JSON数据了。\[2\] #### 引用[.reference_title] - *1* *3* [【教程】使用 LitJson 处理 Json 数据信息](https://blog.csdn.net/qq_51026638/article/details/121374233)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C#使用LitJson解析JSON](https://blog.csdn.net/zhiqingcn/article/details/125258200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值