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