dourukeng5302 2016-08-18 18:39
浏览 43
已采纳

PHP:如何使用引号解码json字符串

A server returns a string like this:

string(150) ""\"{ 'success': false, 
'message': Email address already registered, 
'error': { 'code': 100, 
           'message': 'Email address already registered!' }}\"""

Calling json_decode on the result doesn't change the string into array, it just remains a string.

How can I fix this string to be converted to a PHP array?

  • 写回答

2条回答 默认 最新

  • dpkiubcc265650 2016-08-18 19:05
    关注

    If you still need to get values of success and message keys from that string - use the following approach with preg_match_all and array_combine functions:

    $str = "\"{ 'success': false, 
    'message': Email address already registered, 
    'error': { 'code': 100, 
               'message': 'Email address already registered!' }}\"";
    
    preg_match_all("/'(?<k>success|message)':(?<v>[^,]+)(?=,)/", $str, $matches);
    $result = array_combine($matches['k'], $matches['v']);
    
    print_r($result);
    

    The output:

    Array
    (
        [success] =>  false
        [message] =>  Email address already registered
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历