我正在努力建立一个宁静的API
,我正在努力如何将JSON
数据序列化为HTTP query string
.
需要在请求中传递许多强制和可选参数,例如(在下面表示为JSON对象):
{
"-columns" : [
"name",
"column"
],
"-where" : {
"-or" : {
"customer_id" : 1,
"services" : "schedule"
}
},
"-limit" : 5,
"return" : "table"
}
Run Code Online (Sandbox Code Playgroud)
我需要支持不同数量的不同客户端,所以我正在寻找一种标准化的方法将这个json对象转换为查询字符串.有一个,它看起来怎么样?
另一种方法是允许用户只是传递消息体中的json对象,但我读到我应该避免它(带请求体的HTTP GET).
有什么想法吗?
编辑以澄清:
列出一些不同的语言如何编码上面给定的json对象:
jQuery
using $.param
:-columns [] = name&-columns [] = column&-where [-or] [customer_id] = 1&-where [-or] [services] = schedule&-limit = 5&return = columnPHP
using http_build_query
:-columns [0] = name&-columns [1] = column&-where [-or] [customer_id] …