在命令行中,我试图通过curl发送POST数据,但在分配空数组时遇到了问题。范例:
curl
curl -X POST -d "customer[name]=Wes&customer[friends]=[]"
当请求运行时,参数将“[]”视为字符串而不是空数组。当我试图给它赋值时也是如此:=[1,2,3]变成"[1,2,3]"我在SO上发现了类似的问题,但它们都涉及使用PHP的curl库。
=[1,2,3]
"[1,2,3]"
ewm0tg9j1#
经过多次尝试和错误,这是解决方案。要通过curl传递空数组,请执行以下操作:
curl -X POST -d "customer[name]=Wes&customer[friends][]="
请注意,customer[friends][](数组中的第一个条目)在参数中保留为空。要将值[1,2,3]传递到数组中,请执行以下操作:
customer[friends][]
[1,2,3]
curl -X POST -d "customer[name]=Wes&customer[friends][]=1&customer[friends][]=2&customer[friends][]=3"
现在,friends包含["1","2","3"]
friends
["1","2","3"]
ghhkc1vu2#
如果发送:
customer[friends][]=不会是空数组,而是第一个元素值为''的数组(空字符串)
customer[friends][]=
''
2条答案
按热度按时间ewm0tg9j1#
经过多次尝试和错误,这是解决方案。
要通过curl传递空数组,请执行以下操作:
请注意,
customer[friends][]
(数组中的第一个条目)在参数中保留为空。要将值
[1,2,3]
传递到数组中,请执行以下操作:现在,
friends
包含["1","2","3"]
ghhkc1vu2#
如果发送:
customer[friends][]=
不会是空数组,而是第一个元素值为''
的数组(空字符串)