Как я могу опубликовать многомерные данные JSON через Jquery.post?

Как я могу опубликовать многомерные данные JSON через $ .post? Например, у меня этот многомерный массив в формате JSON:

{ "file": { "name" : "1024x768.jpg", "type" : "image\/jpeg", "tmp_name" : "C:\\wamp\\tmp\\php8F59.tmp", "error":0,"size":469159 } } 

Я буду использовать Jquery.post() для публикации данных JSON.

 $.post("process.php",'{"name":"1024x768.jpg","type":"image\/jpeg","tmp_name":"C:\\wamp\\tmp\\php8F59.tmp","error":0,"size":469159}}',function(xml){ }); 

Поэтому я могу получить этот массив в process.php используя print_r($_POST) :

 Array ( [file] => Array ( [name] => 1024x768.jpg [type] => image/jpeg [tmp_name] => C:\wamp\tmp\phpA1.tmp [error] => 0 [size] => 469159 ) ) 

Это возможно?

Попробуй это:

 $.post("process.php",{"file":{"name":"1024x768.jpg","type":"image\/jpeg","tmp_name":"C:\\wamp\\tmp\\php8F59.tmp","error":0,"size":469159}},function(xml){ }); 

который должен предоставить вам желаемый массив на стороне php

Изменить: это работает с jQuery 1.4 и выше

 $jsonArray ='{"file":{"name":"1024x768.jpg","type":"image\/jpeg","tmp_name":"C:\\wamp\\tmp\\php8F59.tmp","error":0,"size":469159}}'; $arr = JSON.stringify($jsonArray); $.post("/url",{data:$arr},function(){ }); 

в файле php do

 $json = json_decode($_POST['data']); print_r($json); 

редактировать

может быть, это поможет, я не проверял его, хотя …

 var file=[]; file["name"]="1024x768.jpg"; file["type"]="image/jpeg"; file["tmp_name"]="C:\wamp\tmp\phpA1.tmp"; file["error"]="0"; file["size"]="469159"; var myObject = new Object(); var enumm=["name","type","tmp_name","error","size"]; function getEnum(index){ return enumm[index]; } $.each(file,function(i,j){ myObject[getEnum(i)]=file[getEnum(i)]; }); $.post("/url",{data:$.param(myObject)},function(xml){ }); 

на стороне php do

 $json = parse_str($_POST['data'], $data); print_r($json);