douqing5981 2015-01-29 14:46
浏览 28
已采纳

一组Javascript对象到Php数组

How to decode this array of object to Php array, I used json_decode() but that returned Null

$a = "[
{
    id:1,
    name:'rajan',
    class:10
},{
    id:2,
    name:'amrit',
    class:12
},{
    id:3,
    name:'arun',
    class:11
}
]";
  • 写回答

1条回答 默认 最新

  • dtrn74832 2015-01-29 14:48
    关注

    Your JSON is not valid, which is why json_decode is returning null.

    SyntaxError: Unexpected token i

    http://json.parser.online.fr/

    http://php.net/manual/en/function.json-decode.php

    Returns the value encoded in json in appropriate PHP type. Values true, false and null are returned as TRUE, FALSE and NULL respectively. NULL is returned if the json cannot be decoded or if the encoded data is deeper than the recursion limit.

    I have also fixed your JSON:

    [
    {
        "id": 1,
        "name":"rajan",
        "class":10
    },{
        "id":2,
        "name":"amrit",
        "class":12
    },{
        "id":3,
        "name":"arun",
        "class":11
    }
    ]
    

    Fixing your broken JSON with code:

    $replace_keys = preg_replace("/(\w*):/i", '"$1":', $a);
    $fix_values = preg_replace("/:'(\w*)'/i", ':"$1"', $replace_keys);
    

    You can then use $replace_keys in json_decode. I am not sure if this is the best method, as small variations in your json could break it, but it fixes it with the example provided.


    Full code to fix JSON:

    $a = "[
    {
        id:1,
        name:'rajan',
        class:10
    },{
        id:2,
        name:'amrit',
        class:12
    },{
        id:3,
        name:'arun',
        class:11
    }
    ]";
    
    
    $replace_keys = preg_replace("/(\w*):/i", '"$1":', $a);
    $fix_values = preg_replace("/:'(\w*)'/i", ':"$1"', $replace_keys);
    
    die($fix_values);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据