我收到的字符串output
如下所示:
{family_name:XXX, given_name:XXX, locale:en, name:XXX, picture:XXX, profile:XXX, sub:XXX}
我想获取其中一些值并将它们存储在变量中,但是由于它是字符串,所以我无法使用索引(我只会使用var x = output[0]
等)
如何获得这些值?
预先感谢
答案 0 :(得分:4)
字符串的结构是一个JSON对象。因此,您必须将其作为JSON对象处理。 首先将其解析为JSON。例如。像这样:
JObject json = JObject.Parse(YOUR_STRING);
现在要获得所需的给定值,例如family_name
,您可以说:
string name = (string) json["family_name"];
答案 1 :(得分:1)
我会推荐Json.Net。
将您的字符串解析为json,并创建一个可以将JSON值保存为
的模型public class Person
{
public string family_name {get;set}
public string given_name {get;set;}
public List<string> siblings{get;set;}
}
(这可以通过https://quicktype.io/csharp/或手动完成)
然后:
string json = @"{
'family_name': 'Foo',
'given_name': 'Bar',
'siblings': [
'Jhon',
'Doe'
]
}";
Person person = JsonConvert.Deserialize<Person>(json);
string familyName = person.family_name;
//Foo