当存在感叹号时,服务器无法解析JSON

时间:2015-08-10 14:02:00

标签: php json api curl zendesk

我正在尝试向ZenDesk api提交少量数据。这种方法在99%的情况下都能正常工作,唯一的问题是在文本中出现感叹号时出现。

我正在使用以下内容添加记录:

$company_name = "Company Name!";
curl_setopt($ch, CURLOPT_URL,"https://company.zendesk.com/api/v2/organizations.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$body = '{"organization": {"name": "'.$company_name.'","domain_names": ["'.$company_url.'"]}}';
curl_setopt($ch, CURLOPT_POSTFIELDS,$body);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Connection: Keep-Alive'
));

1 个答案:

答案 0 :(得分:0)

在我写入JSON文件时,我测试过的一些用于读写JSON的库似乎会自动转义任何感叹号("!")。 图书馆仍然可以读取感叹号,即使它没有被转义,但他们似乎更愿意将其作为预防措施来逃避。

在线搜索时,我已经看到了JSON中感叹号出现问题的轶事证据。但没有一个已知问题的确凿证据。

有疑问,我建议总是在JSON中转义惊叹号作为预防措施。