0

我需要使用 PHP curl 来发布 JSON 数据。搜索这个网站后,我找到了一些例子,得知数据应该作为数组提交,但我仍然得到“({“message”:“cjson解码错误”,“code”:500,“error”:true})”每次发布数据后都会出错。

原始数据如下所示(来自 firefox live httpd headers):

{"nodes":[{"id":"","type":"some_type","parentId":"ROOT","refId":null,"href":"","text":"New","desc":"","tags":"","cr":123}],"revision":11,"token":"some_token"}

现在,这是我尝试通过 curl 提交的数据

json_encode(array("nodes"=>array("id"=>"", "type"=>"some_type", "parentId"=>"ROOT", "refId"=>"", "href"=>"", "text"=>"New", "desc"=>"", "tags"=>"", "cr"=>"123"), "revision"=>"11", "token"=>"some_token"));

有人可以告诉我这里有什么问题吗?

4

1 回答 1

0

如果您回显第二行,您会发现它与您在第一行中发布的内容不匹配。

正确的版本如下:

json_encode(array("nodes"=>array(array("id"=>"", "type"=>"some_type", "parentId"=>"ROOT", "refId"=>"", "href"=>"", "text"=>"New", "desc"=>"", "tags"=>"", "cr"=>"123")), "revision"=>"11", "token"=>"some_token"));

现在它与您在第一行中发布的结构相同。(请参阅节点列表周围的附加数组。您需要那里的附加数组(),因为该格式似乎支持发布多个“节点”的想法。

于 2013-08-27T14:28:32.963 回答