.net json解析实例

1. 什么是Json

全称JavaScript Object Notation,一种数据格式的标准规范,起初来源于JavaScript这门语言,后来随着使用的广泛,几乎每门开发语言都有处理JSON的API。

优点:易于人的阅读和编写,易于程序解析与生产。

2. .Net 解析Json

如果你的程序需要处理从外部读取json文件中的数据供程序使用,可以借鉴.net中的第三方lib

.Net 语言中有多重处理json的方式,本文记录如何使用Newtonsoft.Json处理json

3. 处理场景

外部解析json文件

{
    "xx1":[
        {
            "aa":"open",
            "bb":"file.txt"
            
        },
        {
            "aa":"open",
            "bb":"fil&e"
        }
    ],
    "xx2":[
        {
            "aa":"http://127.0.0.1",
            "bb": "http://127.0.0.1"
        }
    ]
}

     

处理示例

public static Newtonsoft.Json.Linq.JArray Readjson(string key)
        {
            string jsonfile = "c:\\xxx\\case.json";//JSON文件路径
            System.IO.FileStream file = new FileStream(jsonfile, FileMode.Open, FileAccess.Read);
            byte[] buffur = new byte[file.Length];
            file.Read(buffur, 0, (int)file.Length);
            System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
            string jsonstr = encoding.GetString(buffur);
            JObject jo = (JObject)JsonConvert.DeserializeObject(jsonstr);
            JArray jar = JArray.Parse(jo[key].ToString());
            return jar;
        }

测试结果:

 public void Test_array)
        {
            Newtonsoft.Json.Linq.JArray case_list = Readjson("xx1");
            for (var i = 0; i < case_list.Count; i++)
            {
                JObject j = JObject.Parse(case_list[i].ToString());

                string aa= j["aa"].ToString();
                string bb = j["bb"].ToString();
                Console.WriteLine("[{0}],[{1}]", aa, bb);
            }

输出如:

[open],[file.txt]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值