C# 在字符串中查找字符串,然后根据该字符串查找另一行
我认为这个标题很让人困惑,下面是发生的事情。下面是我在文本框中读到的JSON片段。我目前正在VS 2012 Express中用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
"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
}