通过JSON.NET到ExpandoObject的JSON数组 [英] JSON array to ExpandoObject via JSON.NET

查看:356
本文介绍了通过JSON.NET到ExpandoObject的JSON数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用以下方法将大多数API JSON结果转换为对象:

I am using the following approach to convert most of my API JSON results into an object:

public void ExpandoObject()
{
    var sampleDATA = Sample.Create();
    var json = JsonConvert.SerializeObject(sampleDATA);

    var expConverter = new ExpandoObjectConverter();
    dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(json, expConverter);

    var a = obj.A;

    var b = obj.B;

    var c = obj.C; //and so on...
}

但是,使用这种JSON格式时,我遇到了一种奇怪的情况.

However, I run into a strange situation with this format of JSON...

[
    {
        "id": 42,
        "name": "example name",
        "member_count": 42,
        "created_date": "example created_date",
        "last_update": "example last_update",
        "last_reset": "example last_reset"
    }
]

因为它是一个数组,所以我如何访问项目,所以ExpandoObject应该是一种IDictionary.

Because it is an array, how can I access the items, the ExpandoObject is supposed to be an IDictionary of sorts.

有人对此有经验吗?

推荐答案

反序列化时使用List<ExpandoObject>:

var expConverter = new ExpandoObjectConverter();
dynamic obj = JsonConvert.DeserializeObject<List<ExpandoObject>>(json, expConverter);

您的obj变量将是您可以迭代的expando对象的列表.

Your obj variable will be list of expando objects that you can iterate.

这篇关于通过JSON.NET到ExpandoObject的JSON数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆