является "HelloWorld" действительным ответом JSON - PullRequest
5 голосов
/ 16 марта 2012

Это может быть самый простой вопрос о JSON.Я создаю службу WCF REST и имею тестовую функцию HelloWorld, которая просто возвращает строку.Я тестирую сервис в fiddler, и тело ответа, которое я получаю:

"HelloWorld"

Я также создал функцию, которая будет просто возвращать число (double), и тело ответа будет:*

1.0

Это действительные ответы JSON?Являются ли простые возвращаемые типы просто возвращаемыми в виде простого текста (без разметки в скобках)?

Ответы [ 4 ]

6 голосов
/ 16 марта 2012

Допустимые ответы JSON начинаются с { для объекта или [ для списка объектов.

Собственные типы не являются допустимыми JSON, если они не инкапсулированы.Попробуйте JSONlint , чтобы проверить правильность.

5 голосов
/ 16 марта 2012

RFC 4672 , говорит нет.Что не означает, что это не может работать, но это не строго соответствует стандартам.(Конечно, не все читатели JSON ...)

Цитата из Раздела 2 "Грамматика JSON":

Текст JSON - это последовательность токенов.Набор токенов включает шесть структурных символов, строки, числа и три литеральных имени.

Текст JSON представляет собой сериализованный объект или массив.

JSON-text = object / array

Только объекты / карты и массивы на верхнем уровне.

1 голос
/ 16 марта 2012

Согласно официальному веб-сайту , вам необходимо использовать следующий синтаксис:

JSON Syntax

Вам нужно объявить, что вы хотите между {}, например:

{
    "test": "HelloWorld"
}
0 голосов
/ 16 марта 2012

Нет. Вот, к примеру, следующее:

{
    "Foo": "HelloWorld"
}

Вы можете попробовать JSONLint , чтобы увидеть, что проверяет, а что нет.

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