“HelloWorld”是否是一个有效的JSON响应

5

这可能是有史以来最基本的JSON问题。我正在创建一个WCF REST服务,并拥有一个HelloWorld测试函数,返回一个字符串。我正在使用fiddler测试该服务,并收到以下响应正文:

"HelloWorld"

我还创建了一个函数,它只返回一个数字(双精度),响应体为:
1.0

这些是否是有效的JSON响应?简单的返回类型就是像这样返回纯文本吗(没有带括号的标记)?


请参见 https://dev59.com/5WMl5IYBdhLWcg3wa2bW,该问题表述得更为广泛。 - Johann
4个回答

6

有效的JSON响应以{表示对象或[表示对象列表开头。

如果未封装本机类型,则不是有效的JSON。请尝试使用JSONlint检查有效性。


5

RFC 4672表示:“不支持”。这并不意味着它不能工作,但它并不是严格的标准兼容。(当然,并不是所有的JSON读者都是标准兼容的...)

引用第2节“JSON语法”的一句话:

一个JSON文本是一系列令牌。令牌集合包括6个结构字符、字符串、数字和三个字面名称。

JSON文本是一个序列化的对象或数组。

JSON-text = object / array

只有顶层是对象/映射和数组。


3
根据官方网站所述,您需要使用以下语法:

JSON Syntax

您需要在{}中声明您想要的内容,就像这样:
{
    "test": "HelloWorld"
}

不太准确,因为数组也是有效的JSON。不幸的是,json.org没有明确说明语法中什么是有效的根节点。 - John Carter

0

不。以下是举例说明:

{
    "Foo": "HelloWorld"
}

你可以尝试使用JSONLint来查看哪些是有效的,哪些不是。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接