我仔细阅读了JSON描述http://json.org/,但我不确定我是否知道这个简单问题的答案.哪些字符串是最小可能的有效JSON?
"string" 字符串是有效的JSON吗?42 是简单的数字有效JSON?true 布尔值是有效的JSON吗?{} 空对象是有效的JSON吗?[] 空数组是一个有效的JSON吗?我在SO中看到了很多复杂的问题,不管某些复杂的结构是否被认为是有效的JSON.
但是在光谱的另一端呢?
"12345"
Run Code Online (Sandbox Code Playgroud)
以上是有效的JSON吗?
有没有办法在不使用PHP的情况下检查变量是否是有效的JSON字符串json_last_error()?我没有PHP 5.3.3.
我的json_encode函数有特殊字符的问题.
例如,我试试这个:
$string="Svr?ek";
echo "ENCODING=".mb_detect_encoding($string); //ENCODING=UTF-8
echo "JSON=".json_encode($string); //JSON="Svr\u010dek"
Run Code Online (Sandbox Code Playgroud)
如何正确显示字符串,JSON ="Svrček"?
非常感谢你.
JSON值是字符串,数字,真,假,空有效JSON吗?就是,是
true
Run Code Online (Sandbox Code Playgroud)
一个有效的JSON文档?或者必须是一个数组/对象?
一些验证者接受这个(例如http://jsonlint.com/),而其他人则不接受(例如http://jsonschemalint.com/).RFC和json.org在这个问题上并不清楚.
该MessagePack规范可帮助您了解可用的数据类型及其二进制表示.但是,我找不到必须用于构建有效msgpack结构的"语法"的信息(因为它不是文本而是二进制格式,术语"语法"可能不准确).我特别想知道msgpack结构中是否有关于"顶级"元素的要求.这基本上是与JSON 不久前发生的问题类似的问题,尽管JSON的语法是指定的.
使用msgpack,可以在顶层使用基本类型(Int,Boolean ..),还是必须将所有内容封装在地图/数组中?是否有可能在顶层有多个元素(例如,两个数组,不是嵌套,而是"彼此相邻")?
为什么Ruby的内置JSON不能反序列化简单的JSON原语,我该如何解决它?
irb(main):001:0> require 'json'
#=> true
irb(main):002:0> objects = [ {}, [], 42, "", true, nil ]
#=> [{}, [], 42, "", true]
irb(main):012:0> objects.each do |o|
irb(main):013:1* json = o.to_json
irb(main):014:1> begin
irb(main):015:2* p JSON.parse(json)
irb(main):016:2> rescue Exception => e
irb(main):017:2> puts "Error parsing #{json.inspect}: #{e}"
irb(main):018:2> end
irb(main):019:1> end
{}
[]
Error parsing "42": 706: unexpected token at '42'
Error parsing "\"\"": 706: unexpected token at '""'
Error parsing "true": 706: unexpected token at 'true'
Error parsing "null": …Run Code Online (Sandbox Code Playgroud) 当我在RestSharp中发出请求时:
var response = client.Execute<bool>(request);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"Unable to cast object of type 'System.Boolean' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'."
Run Code Online (Sandbox Code Playgroud)
这是完整的HTTP响应,每个Fiddler:
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 01 Apr 2013 15:09:14 GMT
Content-Length: 5
false
Run Code Online (Sandbox Code Playgroud)
似乎一切都是响应的犹太人,那么是什么给出了?
此外,如果我通过返回一个简单的值而不是一个对象来对我的WebAPI控制器做一些愚蠢的事情并且这将解决我的问题,请随时提出建议.
json ×6
javascript ×2
php ×2
messagepack ×1
parsing ×1
restsharp ×1
ruby ×1
utf-8 ×1
validation ×1
well-formed ×1