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.

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

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试