以下是我收到的数据列表,属性名称可能不同;
{"data":"[
{
"id":"1",
"name":"aa",
"email":"aa@aa.com",
"address":"11"
},
{
"id":"2",
"name":"bb",
"email":"bb@bb.com",
"address":"22"
}
]"}
这是我的c#代码
我在第3行遇到错误。 Unable to read json data. Check the url you typed.Invalid cast from 'System.String' to 'Newtonsoft.Json.Linq.JObject'.
var jsonStr = wc.DownloadString(url);
JToken outer = JToken.Parse(jsonStr);
JObject inner = outer["data"].Value<JObject>();
List<string> keys = inner.Properties().Select(p => p.Name).ToList();
我的输出怎么样这样;
ID
命名
EMAL
地址
如果我还考虑n级数组,例如address > street
和address > postcode
非常感谢。
答案 0 :(得分:5)
var jObj = JObject.Parse(json);
var props = jObj["data"][0].Select(x => ((JProperty)x).Name).ToList();
BTW:你的json不对,应该是这样的
{data:[
{ "id":"1",
"name":"aa",
"email":"aa@aa.com",
"address":"11"
},
{"id":"2",
"name":"bb",
"email":"bb@bb.com",
"address":"22"
}
]}
查看问题中"
之后的data: