Для анализа данных JSON из текстового файла с помощью c # winforms

#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",
  "screen_name": "sampleXYZ",
  "location": "sample Location",
  "description": "sampleDescritpin",
  "url": null,
  "entities": {       "description": {
  "urls": []
    }
  },
     //some unwanted data in between 
        }
  

Комментарии:

1. Какова природа нежелательных данных? Является ли это частью JSON, или это что-то еще, что было вставлено в JSON и не соответствует стандарту? Кроме того, есть ли что-нибудь, что идет после JSON в файле?

Ответ №1:

Сначала вам нужно извлечь 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