Форматировать данные JSON в .NET - PullRequest
1 голос
/ 18 января 2012

Мне нужны данные JSON в формате, подобном data: { MyClass0: {somedata}, MyClass1: {somedata} }.

Но я получаю данные в формате data: { MyClass: {somedata}, MyClass: {somedata} }.

MyClass - это класс, в котором я создал некоторые свойства.

Вот мой файл классов:

public class data {
    data(MyClass _myClass) {
        subData = _myClass;
    }
    public MyClass subData { get; set; }
}

public class MyClass {
    public value { get; set; }
}

Вот мой WebMethod

foreach(var d in rows) {
    list.add(new data(new MyClass(d)));
}

return new data {
    subData = list
};

1 Ответ

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

Ни один из приведенных вами примеров не является допустимым JSON.Допустимые примеры:

// MyClass0 and MyClass1 each an object value
{ "data" : { "MyClass0" : {}, "MyClass1" : {} } }

// MyClass' value is an array of objects
{ "data" : { "MyClass" : [{}, {}] } }

Спецификация JSON предусматривает, что должны быть пары ключ / значение, а ключи должны быть заключены в двойные кавычки (кроме того,тоже должны иметь строковые значения).

Как вы генерируете строку JSON?Три наиболее популярных варианта:

  1. JavaScriptSerializer
  2. DataContractJsonSerializer
  3. JSON.NET .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...