[英]How to correctly send data to json via php?
我正在使用Mailchimp API,並嘗試將用戶名從表單傳遞到列表。
Mailchimp具有用於實際用戶名的嵌套結構,並且我不了解如何為其正確編寫代碼。
JSON數據結構如下所示:
{
"email_address": xxx@xxx.com
"merge_fields": {
"FNAME":
"LNAME":
}
}
使用post方法的函數發送發布請求腳本
$result = $MailChimp->post("lists/$mailchimp_list_id/members", [
'email_address' => $subscriber_email,
'status' => 'subscribed',
//'merge_fields'['FNAME'] => $subscriber_name;
]);
我嘗試發送'merge_fields'['FNAME'] => $subscriber_name;
誰能解釋我如何使用PHP進入JSON?
這樣嘗試
$jsonArray = json_encode(array('0' =>'test','1' => 'test2'));
json_encode
將您的php數組轉換為json格式
如果您想將json數組解碼為php數組,請使用json_decode
$phpArray = json_decode('Any json encoded array');
首先創建一個PHP數據結構以匹配所需的JSON結構,然后創建該結構的json_encode()
。
{}
表示JSON中的對象[]
表示JSON中的數組
<?php
$inner = new stdClass();
$inner->FNAME = $subscriber_first_name;
$inner->LNAME = $subscriber_last_name;
$member = new stdClass();
$member->email_address = 'xxx@xxx.com';
$member->merge_fields = $inner;
$json_string = json_encode($member);
好的,這是在PHP中使用JSON的最佳方法:
添加它以獲得完整的JSON正文:
$json = file_get_contents('php://input');
驗證json。 我使用尊重驗證器。 https://github.com/Respect/Validation/blob/master/docs/Json.md
if(v::json()->validate($json)){ $whatever = new whatever($json); }
使用php類類對json對象進行規范化,無論如何{public $ email; 公開的$ merged_fields;
function __construct($json){ $json = json_decode($json); if($json->email){ $this->email = $json->email }else{ echo "Error"; } } }
使用jsonSerializable進行編碼。 這是一個非常好的方法: http : //www.sitepoint.com/use-jsonserializable-interface/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.