C# 如何从json字符串读取数组中的属性名?

C# 如何从json字符串读取数组中的属性名?,c#,json,json.net,C#,Json,Json.net,这是我收到的数据列表,财产名称可以不同 {"data":"[ { "id":"1", "name":"aa", "email":"aa@aa.com", "address":"11" }, { "id":"2", "name":"bb", "email":"bb@bb.com", "address":"22" } ]"} 这

这是我收到的数据列表,财产名称可以不同

{"data":"[
    {   
        "id":"1",
        "name":"aa",
        "email":"aa@aa.com",
        "address":"11"
    },
    {   
        "id":"2",
        "name":"bb",
        "email":"bb@bb.com",
        "address":"22"
    }
]"}
这是我的c代码

我在第三行有个错误。无法读取json数据。检查您键入的url。从“System.String”到“Newtonsoft.Json.Linq.JObject”的转换无效

我的输出怎么可能是这样的

身份证 名称 埃马尔 地址

如果我还考虑N级数组,比如地址>街道和地址>邮政编码

,那就太好了。 非常感谢

var jObj = JObject.Parse(json);
var props = jObj["data"][0].Select(x => ((JProperty)x).Name).ToList();
顺便说一句:你的json不正确,应该是这样的

{data:[
 { "id":"1", 
        "name":"aa",
        "email":"aa@aa.com",
        "address":"11"
    },
    {"id":"2",
        "name":"bb",
        "email":"bb@bb.com",
        "address":"22"
    }
]}
请参见您的问题中的后面的数据

顺便说一句:你的json不正确,应该是这样的

{data:[
 { "id":"1", 
        "name":"aa",
        "email":"aa@aa.com",
        "address":"11"
    },
    {"id":"2",
        "name":"bb",
        "email":"bb@bb.com",
        "address":"22"
    }
]}

请参阅后面的数据:在您的问题中

现在更新了json字符串,但我没有删除它,而是将其包装为如何从端点开始。@Cem它仍然不是有效的json。如何解析无效的JSON超出了这个问题的范围,我不知道如何轻松地完成它。@Cem请参阅{data:[…]}。它是一个对象数组还是一个字符串?在这种形式中两者都不是。很抱歉,我传递的是字符串而不是对象,因此,现在它可以正常工作。非常感谢。现在更新了json字符串,但我没有将其删除,而是将其包装为端点的形式。@Cem它仍然不是有效的json。如何解析无效的JSON超出了这个问题的范围,我不知道如何轻松地完成它。@Cem请参阅{data:[…]}。它是一个对象数组还是一个字符串?在这种形式中两者都不是。很抱歉,我传递的是字符串而不是对象,因此,现在它可以正常工作。谢谢。