已有一个变量$formatText复制代码
后面我要post这个json $data = ‘{“message”: { “rid”: “XXXX”, “msg”: “XXXX”}}’; curl_setopt($curl, CURLOPT_POSTFIELDS, $data);复制代码
请问在msg后面应该怎么写来引用前面的$formatText变量(替换msg里的XXXX)呢?
湖北省网友说:$data = ‘{“message”: { “rid”: “XXXX”, “msg”: “‘.$formatText.'”}}’;复制代码
$formatText 中有特殊字符的话需要单独处理,个人不建议直接拼接json.
你这个场景下json_encode + json_decode 不会对性能产生多大影响,还不用转义特殊字符.
另外其实json_decode也可以不用的…如果是已经完全确定的json内容,直接提前定义成array然后json_encode就行了.
$_data = json_decode(‘{“message”: { “rid”: “XXXX”, “msg”: “XXXX”}}’,true); $_data[‘message’][‘msg’] = $formatText; $data = json_encode($_data);复制代码
四川省网友说:$data = ‘{“message”: { “rid”: “XXXX”, “msg”: “‘.$formatText.'”}}’;
青海省网友说:楼上指出了我的错误。
$data = ‘{“message”: { “rid”: “XXXX”, “msg”:”‘.$formatText.'”)}}’;
应该是这样吧,感觉输出的json数据双引号还是要的。本人新手,仅供参考。
山东省网友说:”msg”:’.$formatText.'”XXXX”
黑龙江省网友说:算了,不是很懂
四川省网友说:是的,粗心了
感谢楼上指出
云南省网友说:$data = ‘{“message”: { “rid”: “XXXX”, “msg”:$formatText)}}’; curl_setopt($curl, CURLOPT_POSTFIELDS, $data);复制代码
山西省网友说:楼上编辑掉了,请问修改了什么?
陕西省网友说:$formatText $data = ‘{“message”: { “rid”: “XXXX”, “msg”:”‘.$formatText.'”)}}’; curl_setopt($curl, CURLOPT_POSTFIELDS, $data);复制代码
原来那个错了,我能想到的就是用连接字符了
江苏省网友说:
河北省网友说:$data = ‘{“message”: { “rid”: “XXXX”, “msg”: “‘.$formatText.'”}}’;复制代码
$formatText 中有特殊字符的话需要单独处理,个人不建议直接拼接json.
你这个场景下json_encode + json_decode 不会对性能产生多大影响,还不用转义特殊字符.
另外其实json_decode也可以不用的…如果是已经完全确定的json内容,直接提前定义成array然后json_encode就行了.
$_data = json_decode(‘{“message”: { “rid”: “XXXX”, “msg”: “XXXX”}}’,true); $_data[‘message’][‘msg’] = $formatText; $data = json_encode($_data);复制代码
辽宁省网友说:真大佬,大拇指