【问题标题】:org.json.JSONException: Unterminated string at 737 [character 738 line 1]org.json.JSONException:在 737 [字符 738 第 1 行] 处未终止的字符串
【发布时间】:2011-01-31 17:22:10
【问题描述】:

我正在使用 org.json.JSONObject 来解析一些由 iphone 发送到我的 servlet 的 json。我被困了一段时间,为什么我会收到一条错误消息。错误信息是:

org.json.JSONException: 在 737 [字符 738 第 1 行] 处未终止的字符串

打印出我收到的内容后,我看到发送的字符串确实被缩短并在 json 中停止。我不明白为什么它会被缩短。字符串大小没有限制(或者至少肯定只有内存限制)。

有没有其他人有过薄错误?

干杯

【问题讨论】:

  • 您确认您发送的字符串正确吗?
  • 你是怎么寄的? POST 还是 GET?

标签: java iphone json


【解决方案1】:

json 可以很好地与 \n 配合使用,但是如果您的消息中有任何其他特殊字符,例如 \ , @ , & , # 等。首先将它们转换为各自的 HEX 值,然后发送您的消息。

【讨论】:

  • 你能举个例子吗?
【解决方案2】:

如果您使用 HTTP GET 方法通过查询参数发送数据,请意识到您可以通过这种方式发送的数据量存在实际限制。大约 2000 个字符(因服务器和客户端而异)。当 URL 编码较短的字符串时,您可以轻松地超过该值。

【讨论】:

  • 感谢 Eric 和其他人的回答。我最终找到的答案是 JSONObject 卡在 & 字符上。很好玩。
【解决方案3】:

如果接收到的字符串包含像 \n 这样的换行符,Json 将不起作用。尝试检查它并转义字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2019-07-04
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    相关资源
    最近更新 更多