php - 不同的 JSON 响应 - {"count":"123"} vs {"count"= >"123"}

标签 php ruby json

我有一些 PHP 代码可以查询 MySQL 数据库的计数。

当通过浏览器查询时,我得到以下输出:

{"count":"123"}

我还有一个 Ruby 脚本,它通过 Net::HTTP 执行相同的 PHP 脚本,但输出不同:

{"count"=>"123"}

这是为什么?

//The URL
uri = URI.parse("http://lab/count.php")
http = Net::HTTP.new(uri.host, uri.port)
//Request URL
request = Net::HTTP::Get.new(uri.request_uri)
//Basic authentication
request.basic_auth("user1", "secret")
response = http.request(request)
//Response
response = JSON.parse(response.body)
puts results
//Value 'count'
count = JSON.parse(response.body)[0]
puts count

谢谢。

最佳答案

{"count"=>"123"} 不是 JSON 响应。

它是哈希表的 ruby​​ 字面量。

我认为您看到的是解析 JSON 的结果:

>> require 'json'
>> JSON.parse('{"count":"123"}') # => {"count"=>"123"}
>> puts JSON.dump({"count"=>"123"}) # prints => {"count":"123"}

更新对评论的回应

打印 123

uri = URI.parse("http://lab/count.php")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
request.basic_auth("user1", "secret")
response = http.request(request)
response = JSON.parse(response.body)
puts response['count']

关于php - 不同的 JSON 响应 - {"count":"123"} vs {"count"= >"123"},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17985832/

相关文章:

在 Laravel 中安装 Dompdf 后出现 PHP 错误

php - 使用 jQuery 计算插件自动计算表单字段值

json - 转到库映射 json 键以清理输出

android - 如何检查 json 数组是否可用并存在?

java - 在 ListView 中显示 JSON 数据仅显示 Array 中的第一个元素

php - 更新多个数据的更好方法

php - 如果文件大于给定大小,则阻止从远程源加载

ruby - Ruby 语法糖有 "rules"吗?

ruby - 从 url 中删除特定部分

ruby - 无法使用 Ruby 的 'open-uri' 打开 utf-8 URI