我有一个PHP函数,它在内部使用一个字符串参数构建一个对象图,然后使用json_encode()创建一个json字符串,然后将json字符串发布到远程web服务。
这样地:
function send($text)
{
$payload = array(
'text' => $text
// Set additional properties here ...
);
$payload_json = json_encode($payload);
// Post $payload_json to remote service with Curl ...
}
从json_编码手册(http://php.net/manual/en/function.json-encode.php)
所有字符串数据必须是UTF-8编码。
我看到了几个选择:
最佳做法是什么?
您应该始终向API用户传达您的期望。
如果您希望使用UTF-8编码文本,请在文档中说明。
一旦它在那里,您应该返回一个描述性错误,例如“编码无效,有关更多信息,请阅读文档:link”,其中link指向失败调用的相关页面
这样,您就不再负责了,使用您的API的开发人员将知道出了什么问题,您不必在API中担心它。
你是开发者,这是你的应用编程接口,你的应用编程接口有自己的规则,如果人们想使用它,他们需要遵循你设置的规则。