C# JObject转换JSON文件相关处理

本文详细介绍如何使用JObject进行JSON文件的解析与数据处理,包括整体转换、逐级转换及读取不同类型的数据,如字符串、数组和对象。

一、JObject.Parse

1.把整个json文件字符串转化成JObject格式。

JObject jsonData = JObject.Parse(jsonString);

2.逐级转换成JObject

最低级是"Device": "Windowsr",字典。

jsonData = JObject.Parse(jsonData[jsonName][jsonIndex].ToString());

3.JObject读取字典value

a.类型为value为string

                if (jsonData[lastArryItem].Type == JTokenType.String)
                    {
                        itemStringList.Add(jsonData[lastArryItem].ToString());
                    }

b.value字符串数组类型

            "selecte": [
                "aaa",
                "bbb",
                "ccc",
                "dddd",
                "eeee",
                "Exit"
            ]
if (jsonData[lastArryItem].Type == JTokenType.Array)
{
    //已经确定其中一个
    JArray jsonDataArray = (JArray)jsonData[jsonName];
    itemStringList.Add(jsonDataArray[jsonIndex].ToString());

    // 强制转换字符串保存,复杂类型会出现带{}
    JArray jsonDataArray = (JArray)jsonData[lastArryItem];
    foreach (var jsonItem in jsonDataArray)
    {
        itemStringList.Add(jsonItem.ToString());
    }

}

c.value 为objcet类型

"configure":
[
    {
        "Device": "Windows"
    },
    {
        "2nd Device": "DVD"
    }
]

                foreach (JToken jdata in jsnListArray)
                {

                    if (jdata.Type == JTokenType.String)
                    {
                        jsonDataList.add(jdata.ToString());
                    }

                    if (jdata.Type == JTokenType.Object)
                    {
                        //转换
                        JObject jodata = (JObject)jdata;
                        IEnumerable<JProperty> properties = jodata.Properties();
                        foreach (JProperty item in properties)
                        {
                            //获取key name.
                            jsonDataList.add(item.Name);
                            
                        }
                    }
                }

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值