Создайте JSON с .NET

Этот ответ должен быть довольно коротким и сладким, чтобы ответить (часть) озаглавленного вопроса. Если вы хотите получить более подробный ответ, объясняющий, почему вы должны их там поместить, пожалуйста, перейдите здесь .


Общее правило для размещения typename в основном, когда вы используете параметр шаблона, и хотите получить доступ к вложенному typedef или с использованием псевдонима, например:

template
struct test {
    using type = T; // no typename required
    using underlying_type = typename T::type // typename required
};

Обратите внимание, что это также относится к метафункциям или вещи, которые также принимают общие параметры шаблона. Однако, если предоставленный параметр шаблона является явным типом, вам не нужно указывать typename, например:

template
struct test {
    // typename required
    using type = typename std::conditional::type;
    // no typename required
    using integer = std::conditional::type;
};

Общие правила добавления определителя template в основном аналогичны, за исключением они обычно включают шаблонные функции-члены (статические или другие) структуры / класса, которые сами шаблоны, например:

Учитывая эту структуру и функцию:

template
struct test {
    template
    void get() const {
        std::cout << "get\n";
    }
};

template
void func(const test& t) {
    t.get(); // error
}

Попытка доступа t.get() изнутри функции приведет к ошибке:

main.cpp:13:11: error: expected primary-expression before 'int'
     t.get();
           ^
main.cpp:13:11: error: expected ';' before 'int'

Таким образом, в этом контексте вам понадобится ключевое слово template заранее и вызвать его так:

t.template get()

Таким образом, компилятор будет анализировать это правильно, а не t.get < int.

15
задан spender 8 December 2012 в 01:38
поделиться

6 ответов

Существует пара первой стороны и сторонних опций. у Rick Strahl есть хороший обзор. JSON.net является самой популярной сторонней опцией.

15
ответ дан 1 December 2019 в 01:17
поделиться

См. , там созданный способом в.Net AJAX для ручной сериализации объекта к строке JSON?

, Который должен сказать, в.NET 2.0,

Dim yourData As String() = { "Hello", "World" }
Dim jsonSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer
Dim jsonString as String = jsonSerialiser.Serialize(yourData)

В.NET 3.5, отправьте их в блог Rick Strahl, упомянутый выше

10
ответ дан 1 December 2019 в 01:17
поделиться

Json. Сеть является простой в использовании библиотекой с некоторыми замечательными функциями.

7
ответ дан 1 December 2019 в 01:17
поделиться
0
ответ дан 1 December 2019 в 01:17
поделиться

Я с Wayne - работы JSON.net хорошо. Хорошее, это работает хорошо без кривой обучения.

2
ответ дан 1 December 2019 в 01:17
поделиться

JavaScriptSerializer очень прост.

Person person = new Person();

JavaScriptSerializer serializer = new JavaScriptSerializer();
String json = serializer.Serialize(person);
3
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: