我正在使用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?
答案 0 :(得分:0)
试试这个
$jsonArray = json_encode(array('0' =>'test','1' => 'test2'));
json_encode
会将您的php数组转换为json格式
如果要将json数组解码为php数组,请使用json_decode
$phpArray = json_decode('Any json encoded array');
答案 1 :(得分:0)
首先创建一个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);
答案 2 :(得分:0)
好的,这是在PHP中使用JSON的最佳方式:
添加此内容以获取完整的JSON正文:
$json = file_get_contents('php://input');
验证json。我使用Respect Validator。 https://github.com/Respect/Validation/blob/master/docs/Json.md
if(v::json()->validate($json)){
$whatever = new whatever($json);
}
使用php类规范化json对象 什么{ public $ email; public $ 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/