我正在使用Mailchimp API,并试图将用户名从表单传递到列表。
Mailchimp有一个嵌套的实际用户名结构,我不知道如何正确地为它编写代码
JSON数据结构如下所示:
{
"email_address": xxx@xxx.com
"merge_fields": {
"FNAME":
"LNAME":
}
}
使用带有post方法的函数发送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正文:
$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对象上课随便{公共$email;公共$merged_fields;
function __construct($json){ $json = json_decode($json); if($json->email){ $this->email = $json->email }else{ echo "Error"; } } }
-
使用jsonSerializable进行编码。这是一个非常好的HowTo:http://www.sitepoint.com/use-jsonserializable-interface/
首先创建一个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);