這個問題在這里已經有了答案: 如何使用 PHP 從 JSON 中提取和訪問資料? (7 個回答) 2 天前關閉。
我在這樣的帖子請求中發送了RAW 字串
{
"event": "order.shipment.creating",
"merchant": 1234,
"created_at": "Fri Dec 03 2021 22:42:39 GMT 0300",
"data": {
"id": 1228010214,
"reference_id": 26190403,
"urls": {
"customer": "https:\/\/example.com\/dev-ngzo6top1bkkiuhp\/order\/A7rJG4yO9YgKa2yxJmX1PjlzZk6QX2n0",
},
"source": "dashboard",
"source_device": "desktop",
當我列印字串時,我得到:
"""
{\r\n
"event": "order.shipment.creating",\r\n
"merchant": 769699377,\r\n
"created_at": "Fri Dec 03 2021 22:42:39 GMT 0300",\r\n
當我嘗試將其轉換為我使用的物件時(在 Laravel 中)
$content = $request->getContent(); //the RAW string
$body = json_decode($content);
dd(gettype($body));
我明白了NULL所以我試過了
$body = json_decode(json_encode($content));
dd(gettype($body));
我得到了string所以我試過了
$body = (object) $content;
這次我得到了object但是當我試圖列印我得到的內容時
{#1412
"scalar": """
{
"event": "order.shipment.creating",
"merchant": 1234,
"created_at": "Fri Dec 03 2021 22:42:39 GMT 0300",
為什么會發生這種情況以及如何將這樣的 RAW 字串轉換為物件而不需要額外的雙引號或scalar鍵?
uj5u.com熱心網友回復:
即“RAW字串”似乎是部分一JSON的編碼物件。由于它不完整,因此不會解碼。如果這是“一次性”的情況,那么我建議您手動修復它。
如果您的軟體需要像這樣定期使用損壞的 JSON,您可能需要在軟體中使用復雜的字串操作來檢測和修復 JSON。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/373221.html
上一篇:你如何通過一個引數對陣列串列中的物件進行排序,然后如果該引數與Java中另一個引數的順序相同?
下一篇:從條目創建嵌套物件
