WCF可以接受使用单引号和非引用标识符编码的JSON吗?

时间:2011-02-08 23:13:54

标签: wcf json

有没有办法可以指示WCF接受使用单引号格式化的JSON(而不是双引号):

{
   'foo': 'bar'
}

或使用非引用的标识符,如:

{
    foo: 'bar'
}

实际上,如果JSON格式如此,它似乎只会被接受:

{
    "foo": "bar"
}

使用前两个示例中的任何一个导致400(错误请求)。

2 个答案:

答案 0 :(得分:2)

前两个示例是无效的JSON文本。 http://www.ietf.org/rfc/rfc4627.txt

object = begin-object [ member *( value-separator member ) ]
end-object

member = string name-separator value

string = quotation-mark *char quotation-mark

quotation-mark = %x22      ; "

答案 1 :(得分:2)

DataContractJsonSerializer始终严格的JSON。

在反序列化期间的各个点(通常缺少数组或对象的结束标记,或不正确的转义或数据格式不正确),它将接受不正确的非严格JSON

但是,我可以肯定地告诉你,这不是其中之一。 DataContractJsonSerializer始终需要为JSON提供双引号字符串。

希望这有帮助!