使用c#winforms从文本文件解析JSON数据
我有很多包含Json数据的文本文件,我想解析所有这些文件中所有必需的数据。我正在创建C#windows应用程序来完成此任务。 请帮我做同样的事,提前很多 以下是我的文本文件数据示例:使用c#winforms从文本文件解析JSON数据,c#,json,winforms,json.net,C#,Json,Winforms,Json.net,我有很多包含Json数据的文本文件,我想解析所有这些文件中所有必需的数据。我正在创建C#windows应用程序来完成此任务。 请帮我做同样的事,提前很多 以下是我的文本文件数据示例: Name: sample testname Username: sampleXYZ Time zone: SampleTimezone Language: EN Json: { "id": 600723423551234234234, "id_str": "600723423551234234234",
Name: sample testname
Username: sampleXYZ
Time zone: SampleTimezone
Language: EN
Json: {
"id": 600723423551234234234,
"id_str": "600723423551234234234",
"name": "sample testname",
"screen_name": "sampleXYZ",
"location": "sample Location",
"description": "sampleDescritpin",
"url": null,
"entities": { "description": {
"urls": []
}
},
//some unwanted data in between
}
首先,需要从文件中提取JSON;要做到这一点,您可以这样做:
static string ExtractJSON(string path)
{
var file = File.ReadAllText(path);
var brackets = 0;
var json = "";
foreach (var c in file)
{
if (c == '{') // if { encountered, go in a level
brackets++;
else if (c == '}') // if } encountered go out a level
{
brackets--;
if (brackets == 0)
json += c.ToString(); // get the last bracket
}
if (brackets > 0) // ignore everything that isn't within the brackets
json += c.ToString();
}
return json;
}
一旦你有了你的json数据,使用一个像NewtonSoft那样的解析器来解析json不需要的数据的性质是什么?它是JSON的一部分,还是JSON中的其他内容不符合标准?另外,文件中JSON之后是否有任何内容?