繁体   English   中英

使用“””从 php 服务器获取 json 数据

[英]getting json data from php server with “"”

我的 iphone 应用程序从 php 服务器获取 json 数据。

2个基本问题,只是为了确定:

1-在一些 json 数据字段中,我看到""" ,这是 json 发送报价的方式,我需要在 iphone 应用程序中清理它吗? 或者有优雅和干净的方式来跳过这件事?

2-数据在 UTF-8 中,我注意到如果数组中有数组,则 UTF-8 不会以正确的方式显示,而是显示代码。 这是 JSON 库中的错误吗? 或者有什么要与服务器端检查的?

提前致谢。

这就是 json 发送报价的方式吗

没有" 是 HTML 或 XML 实体。 JSON 中的报价将是"\""

我注意到如果数组中有数组,则 UTF-8 不会以正确的方式显示,而是显示代码。 这是 JSON 库中的错误吗?

这可能是编码器中的错误。 这可能是解码器中的错误。 这可能是您如何使用其中一个的错误。

如果不知道更多关于输入和 output 的样子,我们就无法判断。

可能发生的情况是报价被编码" , 然后 & 符号被编码" . 有几次在我的 JSON/XML 文件上进行查找和替换时,我也遇到过这种情况。 只需通过 go 并将它们改回" .

如果您从另一个 API 或无法编辑其格式的源中获取它们,只需使用

html_entity_decode($json->data);

围绕您要打印到页面的任何内容。

JSON 字符串中任何地方的文字引号应该是\""""将是无效的 JSON 和语法错误。 哪个“服务器”正在生成此 JSON 文本? iphone,还是 PHP 的 json_encode()?

" 是一个 HTML 实体,一种表示字符的方式,否则浏览器可能会将其解释为 HTML 代码。

PHP 5.2/5.3(不能代表其他人)不应触及 html 实体,因此请确保您没有在 json_encode 字符串上运行html_entities(...) 高度怀疑该错误在编码器中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM