2013-08-27 67 views
0

我需要使用PHP curl來發布JSON數據。在搜索這個網站後,我發現了一些例子,並且知道數據應該作爲數組提交,但我仍然得到「({」message「:」cjson解碼錯誤「,」code「:500,」error「:true})」每次發佈數據後都會發生錯誤。PHP Curl Post - JSON解碼錯誤

原始數據看起來像這樣(從Firefox現場的httpd頭):

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

現在,這裏是我嘗試通過捲曲提交數據

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

有人能告訴我什麼是錯在這裏?

回答

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

現在是相同的結構,你在第一行發佈的內容。 (見周圍的節點列表中的其它陣列。你需要一個額外的陣列()那裏,因爲格式似乎支持張貼不止一個「節點」的想法。

+0

不幸的是,仍然顯示相同的錯誤。是否需要如果你比較兩個不同的HTTP請求(您想效仿之一,你手動掀起了一個)圍繞一個位打更多... –

+0

- ?是否有任何區別 – Sebastian

+0

我怎麼可能對它們進行比較,我只是用livehttpdheaders插件來查看發佈了什麼樣的dyte,然後使用curl發佈相同的東西(包括引用者等) –