C#:Json字符串、JsonArray字符串处理(Jarray)

今天在做Asp网站开发的时候接受到了一种下面这种样子的字符串:

"[
{
    "mid": "123456",
    "nid": "321",
    "data": [
        {
            "mid": "1",
            "name": "111"
        },
        {
            "mid": "2",
            "name": "222"
        },
        {
            "mid": "3",
            "name": "333"
        },
        {
            "mid": "4",
            "name": "444"
        },
        {
            "mid": "5",
            "name": "555"
        }
    ]
},
{
    "mid": "123456",
    "nid": "321",
    "data": [
        {
            "mid": "1",
            "name": "111"
        },
        {
            "mid": "2",
            "name": "222"
        },
        {
            "mid": "3",
            "name": "333"
        },
        {
            "mid": "4",
            "name": "444"
        },
        {
            "mid": "5", 
            "name": "555"
        }
    ]
}
]"

查阅了资料发现 这种写法的字符串其实是一种Json数组,

Json数组格式为:[{“name1”:“value”,“name2”:“value”},{“name1”:“value”,“name2”:“value”}];

而由"{ }"包括着的是一个Json对象。

我们在开发中经常遇到的多是这两种格式的字符串。

对于一个json对象格式的字符串:

直接使用JObject job =JObject.Parse(“…”),就可以转换为json对象;

然后使用 job[“属性名”]的方式就可以取出其中一个一个的值。

由多个json对象组成的json数组格式的字符串:

第一步:将jsonArray格式字符串转换成JsonArray对象;处理jsonarray的方法

第二步:遍历JsonArray中的每一项(每一项都是一个Json对象);

第三步:和单个json对象的解析方式是一样的。

string hh ="[{\"mid\": \"123456\",\"nid\": \"321\",\"data\": [{\"mid\": \"1\",\"name\": \"111\" },{\"mid\": \"2\",\"name\": \"222\"}, {\"mid\": \"3\",\"name\": \"333\" },{\"mid\": \"4\",\"name\": \"444\"},{\"mid\": \"5\",\"name\": \"555\" }    ]},{\"mid\": \"123456\",\"nid\": \"321\",\"data\": [ {\"mid\": \"1\",\"name\": \"111\" }, {\"mid\": \"2\",\"name\": \"222\" }, {\"mid\": \"3\",\"name\": \"333\"},{\"mid\": \"4\",\"name\": \"444\" }, {\"mid\": \"5\", \"name\": \"555\" } ]}\r\n]";
        JArray jArray = JArray.Parse(hh);
        foreach (var jj in jArray)
        {
            // string job= jj.ToString();
            //JObject jObject=JObject.Parse(job);
            JObject job = (JObject)jj;
            JArray datArray = JArray.Parse(job["data"].ToString());
            foreach (var item in datArray)
            {
                JObject jdata = (JObject)item;
                string aa = jdata["mid"].ToString();
                string bb = jdata["name"].ToString();
            }
        }
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值