PHP Curl Post-JSON解码错误


PHP Curl Post - JSON Decoding Error

我需要使用PHP curl来发布JSON数据。在搜索这个网站后,我发现了一些例子,并了解到数据应该以数组的形式提交,但每次发布数据后,我仍然会收到"({"消息":"cjson解码错误","代码":500,"错误":true})"错误。

原始数据如下(来自firefoxlivehttpd头):

{"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"));

有人能告诉我这里怎么了吗?

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

正确的版本如下:

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"));

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