如何将POST多维数组转PHP

How to POST multi-dimensional array to PHP

我有一组字典数组。 例子 主数组 子阵列 1 字典 1 字典 2 子数组2 字典 1 字典 2

这是我使用字符串输出发送 NSMutableUrlRequest 之前的代码。

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:itemListArray
                                                   options:kNilOptions error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

然后转到

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];

后面是一个 NSUrlConnection。

jsonstring 输出是 [[{"Description":"Item1"},{"Description":"Item2"}],[{"Description":"SItem1"},{"Description":"SItem2"}]]

我的 PHP 代码非常简单,returns jsonstring 如上所述。

$data1 = $_POST["jsonstring"];
var_dump($data1);

我现在的问题是我不知道如何分离数组。我是否必须设置一些字符串格式来分隔数据? 例如,拉取每组括号 [] 之间的所有数据。然后进一步将所有“”之间的数据分开?

是否有更简单的方法来 post 字典的多维数组?

$data1 = '[[{"Description":"Item1"},{"Description":"Item2"}],[{"Description":"SItem1"},{"Description":"SItem2"}]]';

var_dump(json_decode($data1, true));

或者没有 true 作为第二个参数以允许对象而不是将它们转换为数组

var_dump(json_decode($data1));

输出:

array(2) {
  [0]=>
  array(2) {
    [0]=>
    array(1) {
      ["Description"]=>
      string(5) "Item1"
    }
    [1]=>
    array(1) {
      ["Description"]=>
      string(5) "Item2"
    }
  }
  [1]=>
  array(2) {
    [0]=>
    array(1) {
      ["Description"]=>
      string(6) "SItem1"
    }
    [1]=>
    array(1) {
      ["Description"]=>
      string(6) "SItem2"
    }
  }
}