php如何在json里嵌套一个json

查看:371
本文介绍了php如何在json里嵌套一个json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我创建了一个类

class EpayOrderPayRequest
{
    public $platformId;
    public $accountId;
    public $orderInfos;
    
    //方法是对应的get和set
    }

//创建实例    
$request = new EpayOrderPayRequest();

$request->setPlatformId("PlatformId");
$request->setAccountId("AccountId");

//orderInfo的内容是一个json格式
$orderInfo = array(
    "goodsName" => "testgoods",
    "goodsType" => "00",
    "tradeAmount" => 0.02
);

$orderInfos = json_encode($orderInfo);
$request->setOrderInfos("[".$orderInfos."]");

$jsonStr = json_encode($request);

echo $jsonStr;
}

输出是这样的:

{
"platformId":"platformId",
"accountId":"accountId",
"orderInfos":
    "[{\"goodsName\":\"testgoods\",
    \"goodsType\":\"00\",
    \"tradeAmount\":0.02"
    }]"}
    

orderInfos中括号外面带了个双引号,导致json格式解析出差,问下有什么解决办法?

解决方案

你是不是想要这样的,

$orderInfo = array(
    'goodsName' => 'testgoods',
    'goodsType' => '00',
    'tradeAmount' => 0.02
);
 $a = array(
     "platformId"=>"platformId",
    "accountId"=>"accountId"
 );
$a['orderInfo'] = $orderInfo;
$jsonStr = json_encode($a);

echo ($jsonStr);

我是根据你的随便弄了数组,你需要先把这两个数组合并,然后json_encode();

这篇关于php如何在json里嵌套一个json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆