繁体   English   中英

您如何遍历整个JSON文件,同时从后面的代码中过滤掉特定的值和字符串?

[英]How do you run through the entire JSON file, while filtering out specific values & strings from code behind?

我可以知道您如何在整个JSON文件中运行,并在此过程中过滤掉特定的值和字符串,例如db_table_name吗? 从代码-后面

这是JSON文件的示例

d={"db_table_name":"form_for_hub_trooper_in_store_feedback_form_20160829174321","Date of Audit":"2017-04-27"}

test.json文件:

{
  "db_table_name": "from_for_bub_trooper_in_store_feedback_from_20160829174321",
  "Date of Audit": "2017-04-27"
}

您可以简单地使用Newtonsoft.Json 工作代码如下:

string jsonText = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "test.json");
using (StreamReader r = new StreamReader(jsonText))
    {
       string json = r.ReadToEnd();
       JObject token = JObject.Parse(json);
       string dbTable = token.SelectToken("db_table_name").ToString();
    }

如果要按条件动态访问json:

string jsonText = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "test.json");
        using (StreamReader r = new StreamReader(jsonText))
        {
            string json = r.ReadToEnd();
            dynamic dynamicJson = JsonConvert.DeserializeObject(json);
            foreach (var item in dynamicJson)
            {
                if (item.Name == "db_table_name")
                    Console.WriteLine(item.Value);
                if (item.Name == "Date of Audit")
                    Console.WriteLine(item.Value);
            }
        }
void Main()
{
    string d = "{'db_table_name':'form_for_hub_trooper_in_store_feedback_form_20160829174321','Date of Audit':'2017-04-27'}";
    var obj = (JObject)JsonConvert.DeserializeObject(d);
    Console.WriteLine($"Table Name = {(obj["db_table_name"])}");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM