我有一个标有sample.txt的示例JSON数组,它是从抽奖活动表单发送的,用于捕获用户的姓名和电子邮件。我使用WooBox,因此JSON数组通过每个条目发送信息,因此这里有两个条目:http://pastebin.ca/3409546
在前一个问题上,我被告知要打破[]以便JSON_ENCODE可以计算单独的条目。我想捕获名称和电子邮件,并将数组导入我的电子邮件数据库(活动监视器)。
我的问题是:如何将JSON变量标签添加到数组中?如果您看到我的代码,我尝试使用标签$ email。这是正确的形式还是带有for循环的电子邮件[0]?
let TestBox = React.createClass({
render:function(){
return <div> ABCD </div>
}
});
export default TextBox
https://github.com/campaignmonitor/createsend-php/blob/master/samples/subscriber/add.php
答案 0 :(得分:1)
这应该相当简单:如果你有一个JSON字符串并且在其上调用json_decode($string, true)
,那么你就可以在PHP变量中获得它的简单和简单。从那里,您可以像访问任何PHP数组,对象等一样访问它。
问题是,你没有合适的JSON字符串。你有一个看起来像JSON的字符串,但不是有效的JSON。通过linter运行它,你就会明白我的意思。
PHP不知道如何处理你想要的JSON,所以你不得不求助于手动解析,这不是我推荐的路径。不过,你几乎就在那里。
require_once 'csrest_general.php';
require_once 'csrest_subscribers.php';
$auth = array('api_key' => 'xxxxxxxxxxxxxxx');
$wrap = new CS_REST_Subscribers('xxxxxxxxxx', $auth);
$url = 'http://www.mywebsite.com/sweeps/test.txt';
$content = file_get_contents($url);
$tmp = explode('][', $content);
foreach ($tmp as $json_part) {
$user = json_decode('['.rtrim(ltrim($json_string, '['), ']').']', true);
$result = $wrap->add(array(
'EmailAddress' => $user->email,
'Name' => $user->fullname,
'Resubscribe' => true
));
}