gpt4 book ai didi

java - PHP 和 Java 中相同的字符串不相等

转载 作者:行者123 更新时间:2023-12-01 14:36:34 26 4
gpt4 key购买 nike

当我将字符串从 PHP 发送到 Java (Android) 时,我遇到了一个奇怪的问题。

整个故事相当简单:Java 应用程序将关键字发送到 PHP 脚本。 PHP 脚本在数据库中查找它并将 JSON 编码的数组(作为字符串)发送回 Java 应用程序。

我可以在 Android 的 TextView 字段中看到这个字符串,它看起来像这样:[{"name":"Berlin"}]

但是 Java 不接受它作为有效的 JSON 字符串(与一些在线 JSON validator 不同),因为它不断抛出异常:“JSONArray 文本必须以字符 1 处的 '[' 开头”。当我使用“equal()”将该字符串与 Java 中硬编码的相同字符串进行比较时,结果发现它们并不相等。更令人不安的是:Java 返回的 JSON 字符串长度为 20,而不是 19。

为什么会这样?没有像变音符号这样不寻常的字符。第 20 个字符可能是什么?我怀疑存在一些编码问题,但我很确定所有内容(PHP 文件、Java 文件)都是 UTF-8 编码的。

(在有人问之前:我可以提供代码,但我不知道哪一部分可能相关。)

最佳答案

如果长度不同,则可能会因前导/尾随空格而导致差异。

尝试查看this问题。接受的答案提供了一种预处理字符串的方法,以确保不会发生此问题。

关于java - PHP 和 Java 中相同的字符串不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16442707/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com