internal static class Serializer
{
internal static void Serialize<T>(this T arg, string fileName)
{
string res = JsonConvert.SerializeObject(arg, Formatting.Indented);
File.WriteAllText(fileName,res);
}
internal static T Deserialize<T>(string fileName)
{
string json = File.ReadAllText(fileName);
T res = JsonConvert.DeserializeObject<T>(json);
return res;
}
}
Этот класс сериализует\десериализует объекты.
public class Item
{
...
public string title{get; set;}
public string url{get;set;}
...
}
Это класс одной записи. Для сериализации используйте автосвойства (те самые get; set;), обязательно public.
public class Response
{
public int count{get;set;}
public List<Item> items{get; set;}
}
Для получения данных используете код вроде
string pathToFIle = @"C:\temp\anyFile";
Response response = Serializer.Deserialize<Response>(pathToFile);
String[] titles = response.items.Select(item => item.title).ToArray(); // Массив названий
String[] urls = response.items.Select(item => item.url)ToArray(); // Массив адресов
библиотека: newtonsoft.json.dll
Если надо - могу скинуть готовый пример (на тостере есть личка?).
Также посетите
json2csharp.com
Вставьте в поле свой Json-образец, сразу получите необходимые классы.