C#如何解析没有密钥名称的json数据?

时间:2015-04-27 11:01:46

标签: c# .net json

我有这样的json字符串:

{"fields":[{"type":"none","options":["option1","option2","option3"]}]}

我使用JObject来解析json数据。我可以解析具有名称,类型等的数据。但是,我如何解析没有名称的数据,如option1,option2和option3?这是我的代码:

JObject object = JObject.Parse(jsonString);
var type = object["fields"][0]["type"].ToString();

但问题在于选项。

2 个答案:

答案 0 :(得分:6)

options的值只是一个值数组 - 就像fields一样。但是那里的每个值只有一个字符串,而不是键/值对的另一个映射。

所以你可以使用:

string firstOption = (string) jsonObject["fields"][0]["options"][0];

如果您希望将整个选项设置为List<string>,则可以使用:

var options = jsonObject["fields"][0]["options"]
    .Select(option => (string) option)
    .ToList();

答案 1 :(得分:1)

string jsonString = @"{""fields"":[{""type"":""none"",""options"":[""option1"",""option2"",""option3""]}]}";

var obj = JObject.Parse(jsonString);
var options = obj["fields"][0]["options"].ToList();