dsfsdf7852 2017-11-20 15:57 采纳率: 100%
浏览 147
已采纳

Json字符串转换为json对象

I have been stuck in this issue and cant seem to fix it.. I have this JSON STRING

$unBillableArr = ["{'id' : '123','to' : '+923412268656','MsgReceivedFrom' : '03349433314', 'message':'Qwertyy ', 'recdate':'2017-11-20 19:01:49'}"];

I need to convert it into array of object or maybe just one json object.. I have tried doing

json_decode($unBilledArr , true);

It gives me null.

Already tried these solutions as well

Convert a string to JSON object php

https://jonsuh.com/blog/convert-loop-through-json-php-javascript-arrays-objects/

I must be doing something wrong.. cant seem to figure out what..

P.s : This is the response i am getting and i can not do anything about the response.

  • 写回答

1条回答 默认 最新

  • doulangxun7769 2017-11-20 15:59
    关注

    You are trying to decode an array, either specify the specific item within the array, or make it a string.

    For instance:

    $unBillableArr = '{"id":"123", "to":"+923412268656", "MsgReceivedFrom":"03349433314", "message":"Qwertyy", "recdate":"2017-11-20 19:01:49"}';
    
    $json = json_decode($unBillableArr, true);
    
    // Or
    
    $unBillableArr = ['{"id":"123", "to":"+923412268656", "MsgReceivedFrom":"03349433314", "message":"Qwertyy", "recdate":"2017-11-20 19:01:49"}'];
    
    $json = json_decode($unBillableArr[0], true);
    

    However, given the string you are receiving does not contain valid JSON and you are unable to control what you receive, I have prepared the following that will replace the single quotes in your JSON, and decode each item into an array:

    $unBillableArr = ["{'id' : '123','to' : '+923412268656','MsgReceivedFrom' : '03349433314', 'message':'Qwertyy ', 'recdate':'2017-11-20 19:01:49'}"];
    
    // Loop through each JSON string
    $jsonObjects = []; // Change this name...
    foreach ($unBillableArr as $jsonString) {
        $jsonObjects[] = json_decode(str_replace("'", '"', $jsonString), true);
    }
    
    print_r($jsonObjects); // Proof it works
    

    Please bear in mind that I would consider this to be a dirty fix. To fix this properly, you should go back to the source and ensure that the JSON they are returning to you is valid.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏