首页  >  问答  >  正文

php json_encode 生成的json串中 带有数字下标

$arr = array(
   '1' => array('name'=>'test1'),
   '2' => array('name'=>'test1'),
   '3' => array('name'=>'test1'),
   '4' => array('name'=>'test1'),
   '5' => array('name'=>'test1'),
);

echo json_encode($arr);

结果:
{
1: {
name: "test1"
},
2: {
name: "test1"
},
3: {
name: "test1"
},
4: {
name: "test1"
},
5: {
name: "test1"
}
}

如何把这个 1,2,3,4,5去掉  因为ios那边一直说解析不了


大家讲道理大家讲道理2922 天前1418

全部回复(3)我来回复

  • 代言

    代言2016-11-11 11:34:48

    $arr = array(
    '1' => array('name'=>'test1'),
    '2' => array('name'=>'test1'),
    '3' => array('name'=>'test1'),
    '4' => array('name'=>'test1'),
    '5' => array('name'=>'test1'),
    );

    $arr = array_values($arr);
    echo json_encode($arr);

    不知道这样符合你的要求不? 虽然觉得很奇怪,你为什么要去掉这些1,2,3,4的key.


    回复
    0
  • 代言

    代言2016-11-11 11:34:34

    这里的'1', '2', ... 是你外围数组的key, 怎么能去掉呢。
    另外,我将你模拟的数组json_encode后,再json_decode($strArr, ture)后, 能解析出来, 所以问题不在你这边, 在ios那边吧。

    回复
    0
  • 代言

    代言2016-11-11 11:34:20

     array('name'=>'test1'),
    '2' => array('name'=>'test1'),
    '3' => array('name'=>'test1'),
    '4' => array('name'=>'test1'),
    '5' => array('name'=>'test1'),
    );
    $result = array();
    foreach($arr as &$value) {
        array_push($result, $value);
    }
    echo json_encode($result);

    大概就是这样,请忽略语法错误,我徒手写的。


    回复
    0
  • 取消回复