Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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# 在字符串中查找字符串,然后根据该字符串查找另一行_C#_Json_String_Search - Fatal编程技术网

C# 在字符串中查找字符串,然后根据该字符串查找另一行

C# 在字符串中查找字符串,然后根据该字符串查找另一行,c#,json,string,search,C#,Json,String,Search,我认为这个标题很让人困惑,下面是发生的事情。下面是我在文本框中读到的JSON片段。我目前正在VS 2012 Express中用C#编写代码 "activityStatus" : "Scheduled Enabled", "filterCategory2" : "Position1", "filterCategory3" : "RESUPPLY/OUTFIT", "origination" : "Company Name", "timeC

我认为这个标题很让人困惑,下面是发生的事情。下面是我在文本框中读到的JSON片段。我目前正在VS 2012 Express中用C#编写代码

      "activityStatus" : "Scheduled Enabled",
      "filterCategory2" : "Position1",
      "filterCategory3" : "RESUPPLY/OUTFIT",
      "origination" : "Company Name",
      "timeCritical" : false,
      "monitor" : false,
      "class" : "System",
      "annotationText" : "Install System Racks",
我想做的是在这个伟大的长JSON中找到“filterCategory2”:“Position1”的每个实例,我已经将其作为字符串导入。然后,无论程序在哪里找到“filterCategory2”:“Position1”,我都希望它再向前扫描一点“annotationText”:“Install System Racks”

现在,它不会总是说“安装系统机架”。它可能会有所不同,但它总是说“annotationText”,并且总是“filterCategory2”:“Position1”。我想拔出“安装系统机架”并将其放在其他地方-例如文本框或word文档或其他任何地方。但我确实想捕捉每一个事件。因此,可能会有类似于在某一点上“安装系统机架”,然后在另一点上“断开匹配适配器的耦合”,等等

我对C#很陌生(昨天刚开始:p)。我想自己解决这个问题,所以我不是在寻找代码,而是在寻找指导(尽管如果使用代码片段有助于指导我,请放心!)

感谢您的帮助。

使用网站,例如为您的代码生成C#类。尽管这将取决于您获得的JSON信息的配置方式

使用来自nuget的JSON.NET等JSON解析器库来解析文件


我不确定你所说的“…我想让它再往前看一点,看看…”是什么意思。

我同意Jake的观点,将Jason序列化为一个对象,然后简单地检查该对象以获取所需的信息(例如,如果将Jason序列化为myObject):


您应该只使用JSON解析器,比如JSON.NET。扫描是错误的单词选择。我只是想让它在遇到“filterCategory2”后立即找到“annotationText”的第一个实例“…”。我去看看网站。谢谢。好的-把转换后的C#代码输入到我的程序中,然后转到Salvador的推荐。
if(myObject.FilterCategory2 == "Position1" && myObject.AnnotationText == "Install System Racks")
{
    // Do your thing with myObject.AnnotationText
}