C#Json.NET将字符串转换为Json键
我的应用程序正在接受用户输入作为json键,如何将字符串C#Json.NET将字符串转换为Json键,c#,json,linq,json.net,C#,Json,Linq,Json.net,我的应用程序正在接受用户输入作为json键,如何将字符串a[0].b转换为json键 using Newtonsoft.Json.Linq; string keys = "a[0].b"; dynamic js = dynamic js = JObject.Parse("{'a': [{'b' : 'hello'}, {'b': 'world'}]}"); //Console.WriteLine(js.a[0].b); // world Console.WriteLine(js["a[0]
a[0].b
转换为json键
using Newtonsoft.Json.Linq;
string keys = "a[0].b";
dynamic js = dynamic js = JObject.Parse("{'a': [{'b' : 'hello'}, {'b': 'world'}]}");
//Console.WriteLine(js.a[0].b); // world
Console.WriteLine(js["a[0].b"]); // error
Console.WriteLine(js[keys]); // error
我想您会发现查找用户可能输入的任何内容都很困难,但假设您想从示例中获得“hello”,那么您应该解析到
JObject
,而不是动态,这样您就可以使用SelectToken
或SelectTokens
和字符串路径:
string keys = "a[0].b";
JObject js = JObject.Parse("{'a': [{'b' : 'hello'}, {'b': 'world'}]}");
string hello = js.SelectToken(keys).ToString();