Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Json.NET将字符串转换为Json键_C#_Json_Linq_Json.net - Fatal编程技术网

C#Json.NET将字符串转换为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]

我的应用程序正在接受用户输入作为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].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();