V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fankcoder
V2EX  ›  PHP

求教这种数据怎么转为 json

  •  
  •   fankcoder · 2020-07-09 15:23:01 +08:00 · 3572 次点击
    这是一个创建于 1606 天前的主题,其中的信息可能已经有所发展或是发生改变。
    array (
      0 => 
      array (
        'desc_image' => '/Public/uploads/images/2018/03/20180328222626124.jpg',
        'desc_image_title' => '485494001647432084',
      ),
      1 => 
      array (
        'desc_image' => '/Public/uploads/images/2018/03/20180328222644137.jpg',
        'desc_image_title' => 'DFJ_3445',
      )
    )
    

    用 Py 重构老的 PhP 系统,数据库里看到这种数据不知道咋处理了。。

    12 条回复    2020-07-10 01:04:46 +08:00
    faraone
        1
    faraone  
       2020-07-09 15:32:18 +08:00
    建议使用脚本把数据库数据规整一下
    winnerczwx
        2
    winnerczwx  
       2020-07-09 19:01:33 +08:00
    全部转成对象吧;

    {
    "0": {
    "desc_image: "xxx"
    "desc_image_title": "xxx"
    }
    }
    hui314
        3
    hui314  
       2020-07-09 19:30:00 +08:00 via Android
    array_value()是你想要的么?
    lscexpress
        4
    lscexpress  
       2020-07-09 19:32:44 +08:00
    json_encode
    airdge
        5
    airdge  
       2020-07-09 20:14:47 +08:00
    json.dumps(eval(re.sub(r"\s*\)",'}',数组数据.replace('=>',':').replace('array (','{'))))
    hejingyuan199
        6
    hejingyuan199  
       2020-07-09 20:22:57 +08:00   ❤️ 1
    数据库里存这样的数据?
    这不是 php 的 array 类型吗?

    我觉得我会用一种很土的办法,
    先用 php 调用 json_encode()
    然后再入库存为 json 。
    一劳永逸。

    反正你只是改一次,
    改好后以后也不会用 php 了。
    areless
        7
    areless  
       2020-07-09 20:33:56 +08:00 via Android
    py 比 php 还慢。只要写一个 array 函数,将=>替换成=就可以了。
    gitjavascript
        8
    gitjavascript  
       2020-07-09 20:38:31 +08:00
    数据库重新洗一下吧
    fankcoder
        9
    fankcoder  
    OP
       2020-07-09 21:03:23 +08:00
    @airdge 感谢大佬!!
    fankcoder
        10
    fankcoder  
    OP
       2020-07-09 21:04:57 +08:00
    @hejingyuan199 感谢回复,是这个思路,写个脚本全换 json 。
    Pursue9
        11
    Pursue9  
       2020-07-09 22:22:46 +08:00
    [{"desc_imag":"/Public/uploads/images/2018/03/20180328222626124.jpg",
    "desc_image_title":"485494001647432084"
    },{"desc_imag":"/Public/uploads/images/2018/03/20180328222626124.jpg",
    "desc_image_title":"485494001647432084"
    }]
    leoleoasd
        12
    leoleoasd  
       2020-07-10 01:04:46 +08:00
    我觉得最不容易出问题的方式, 是 php 写个脚本转换数据...
    ```php
    eval("$a=".$str.";");
    echo json_encode($a);
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2720 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:34 · PVG 17:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.