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

C# How to parse json data without key name?

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

但是选项有问题。

options 的值只是一个值数组 - 就像 fields 一样。但是其中的每个值都只是一个字符串,而不是 key/value 对的进一步映射。

所以你可以使用:

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

如果你想要整个选项集作为一个List<string>,你可以使用:

var options = jsonObject["fields"][0]["options"]
    .Select(option => (string) option)
    .ToList();
string jsonString = @"{""fields"":[{""type"":""none"",""options"":[""option1"",""option2"",""option3""]}]}";

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