C#如何解析没有键名的json数据?

C#如何解析没有键名的json数据?,c#,.net,json,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]["t

我有这样的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();

但问题在于选项。

选项的值只是一个值数组,就像
字段一样。但其中的每个值都只是一个字符串,而不是键/值对的进一步映射

因此,您可以使用:

string firstOption = (string) jsonObject["fields"][0]["options"][0];
如果要将整套选项作为
列表
,可以使用:

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

谢谢你的回复。我试过了。“我得到了空引用异常。@Matthew:好吧,根据您给出的确切JSON,我提供的代码可以正常工作。所以我怀疑你有一个输入错误,或者你的JSON看起来不是那样的。谢谢你,你的代码运行得很好。我删除了代码的其他部分,所以在那一行出现了异常。顺便说一句,如果您可以发布真实的、可编译的代码,这会很有帮助-您不能使用
object
作为标识符。如果你发布了一个简短但完整的程序来演示这个问题,那么帮助你会更容易。
string jsonString = @"{""fields"":[{""type"":""none"",""options"":[""option1"",""option2"",""option3""]}]}";

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