Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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# 如何从嵌套JObject获取特定属性的值_C#_Json_Json.net - Fatal编程技术网

C# 如何从嵌套JObject获取特定属性的值

C# 如何从嵌套JObject获取特定属性的值,c#,json,json.net,C#,Json,Json.net,我有一个工作项目: { "config": { "DataSource": { "connectionString": "Localserver", "sqlExpression": "select id As 'key', logHeader As 'Label' from Log" } } } 如何获取connectionString和sqlExpression的值 我正在努力: JObject result = new JObject(

我有一个工作项目:

{
  "config": {
    "DataSource": {
      "connectionString": "Localserver",

      "sqlExpression": "select id As 'key', logHeader As 'Label' from Log"
    }
  }
}
如何获取
connectionString
sqlExpression
的值

我正在努力:

JObject result = new JObject(
             data["DataSource"]
             .SelectMany(jt => jt["properties"]));

string connectionString = result.GetValue("connectionString").ToString();
string sqlExpression = result.GetValue("sqlExpression").ToString();

然而,我没有得到结果。有什么建议吗?

对于这个简单的JSON结构,您可以使用方法导航到每个属性值:

JObject result = JObject.Parse(json);
string connectionString = (string)result.SelectToken("config.DataSource.connectionString");
string sqlExpression = (string)result.SelectToken("config.DataSource.sqlExpression");

Fiddle:

那么你是用Json.Net来做的?您已经序列化了C#对象,因此您可以对其进行反序列化,并根据需要从对象中读取数据。更多答案请参阅