You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中从给定JSON数据提取longurl字段

如何从JSON数据中提取longurl到PHP变量?

别担心,我帮你搞定这个问题!你提供的JSON数据是合法的,大概率是在json_decode的使用细节上出了小问题,下面给你两种可行的方案:

方案1:将JSON解码为PHP对象

你可以直接把JSON字符串解码成对象,然后通过对象属性访问的方式获取longurl:

// 你的JSON数据字符串
$jsonData = '{ "success": true, "payment_request": { "id": "3e64d6cbe5ab4829a34845ba69e6f1bb", "phone": "+918562074512", "email": "abcd1@gmail.com", "buyer_name": "just a name", "amount": "10.00", "purpose": "Demo PAID Package", "expires_at": null, "status": "Pending", "send_sms": false, "send_email": true, "sms_status": null, "email_status": "Pending", "shorturl": null, "longurl": "https://test.instamojo.com/@justaname/3e64d6cbe5ab4829a34845ba69e6f1bb", "redirect_url": "http://www.mywebsite.in/exam/Checkouts/Instamojopostpayment/", "webhook": "http://www.example.com/webhook/", "allow_repeated_payments": false, "customer_id": null, "created_at": "2018-05-09T15:05:03.712593Z", "modified_at": "2018-05-09T15:05:03.712614Z" } }';

// 解码为对象
$decodedData = json_decode($jsonData);

// 提取longurl
$longUrl = $decodedData->payment_request->longurl;

// 输出测试
echo $longUrl;

方案2:将JSON解码为关联数组

如果你更习惯使用数组操作,可以给json_decode传递第二个参数true,把JSON转成关联数组:

// 同样的JSON数据字符串
$jsonData = '{ "success": true, "payment_request": { "id": "3e64d6cbe5ab4829a34845ba69e6f1bb", "phone": "+918562074512", "email": "abcd1@gmail.com", "buyer_name": "just a name", "amount": "10.00", "purpose": "Demo PAID Package", "expires_at": null, "status": "Pending", "send_sms": false, "send_email": true, "sms_status": null, "email_status": "Pending", "shorturl": null, "longurl": "https://test.instamojo.com/@justaname/3e64d6cbe5ab4829a34845ba69e6f1bb", "redirect_url": "http://www.mywebsite.in/exam/Checkouts/Instamojopostpayment/", "webhook": "http://www.example.com/webhook/", "allow_repeated_payments": false, "customer_id": null, "created_at": "2018-05-09T15:05:03.712593Z", "modified_at": "2018-05-09T15:05:03.712614Z" } }';

// 解码为关联数组
$decodedData = json_decode($jsonData, true);

// 提取longurl
$longUrl = $decodedData['payment_request']['longurl'];

// 输出测试
echo $longUrl;

可能踩坑的地方

  • 确保你的JSON字符串没有语法错误(你提供的这段是没问题的),如果解码失败可以用json_last_error()查看错误原因。
  • 如果JSON是从外部接口获取的,要确保已经正确获取到完整的JSON字符串,没有被截断或者包含多余字符。

内容的提问来源于stack exchange,提问作者Kautuk Bhatnagar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:41:04