Создать массив JSon из кода за файлом - PullRequest
3 голосов
/ 26 января 2012

Как я могу создать arraylist, как показано ниже, используя asp.net, c #. Я могу создать такой массив, используя JsonTextWriter , но не хочу добавлять какие-либо другие dll как часть моего решения.

  [{ "id": "slide-img-1", "client": "nature beauty", "desc": "nature beauty photography" },
  { "id": "slide-img-2", "client": "nature beauty", "desc": "add your description here" },
  { "id": "slide-img-3", "client": "nature beauty", "desc": "add your description here" },
  { "id": "slide-img-4", "client": "nature beauty", "desc": "add your description here" },
  { "id": "slide-img-5", "client": "nature beauty", "desc": "add your description here" },
  { "id": "slide-img-6", "client": "nature beauty", "desc": "add your description here" },
  { "id": "slide-img-7", "client": "nature beauty", "desc": "add your description here"}];

Спасибо

Ashish

Ответы [ 2 ]

4 голосов
/ 26 января 2012

Вы можете использовать JavaScriptSerializer :

Предполагая, что сущность в вашем массиве выглядит примерно так:

public class Entity 
{
  public string id { get; set; }
  public string client { get; set; }
  public string desc {get; set; }

  [ScriptIgnore]
  public string PropertyThatIsIgnored { get;set; }
}

Тогда ее можно использовать так:

Entity[] entities = ...;
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(entities);

В качестве альтернативы, если требуется более сложная сериализация, вы можете рассмотреть возможность использования DataContractJsonSerializer , поскольку он обеспечивает большую расширяемость при сериализации / десериализации .

2 голосов
/ 26 января 2012

Используйте JavaScriptSerializer класс, который поставляется с .NET Framework.

Посмотрите здесь .

var js = new JavaScriptSerializer();
string myJson = js.Serialize(new string[] {"A", "B", "C"});
...