Java JSONArray 抛出意外异常

标签 java json

我需要将 JavaScript 中生成的 JSON 转换为 Java 中的 JSONArray - 这里的上下文是用于混合 Android 应用程序的 Cordova 插件。以下字符串

 "[\"9784142605765949528\",2869,264,7]" 

导致 Java 提示。它返回消息

["9784142605765949528",2869,264,7] of type java.lang.String cannot be converted to JSONArray

我不明白为什么会发生这种情况。上面的第一个数组元素是一个字符串,尽管它看起来像一个数字。这是因为我在 JS 中使用自定义 64 位整数实现,它以字符串形式返回其值。

解析此 JSON 的 Java 代码部分如下

try
   {
    Feedback.postBackInfo("LWPD4 " + lwpd[4]); 
    JSONArray hXYZ = new JSONArray(lwpd[4]);

Feedback 是我用来帮助调试的内部实用程序。我在下面显示的 JSON 来自对 Feedback 的调用,并且是后续的 new JSONArray() 抛出此错误

我看不出这里出了什么问题 - 字符串有效的 JSON。

最佳答案

我相信您可能会对您尝试解析的输入字符串感到困惑。下面的代码工作得很好。

import org.json.JSONArray;

public class JsonTest {

    public static void main(String[] args) throws Exception {
        String json = "[\"9784142605765949528\",2869,264,7]";
        JSONArray result = new JSONArray(json);
        System.out.println(result);
    }
}

由于上述工作有效,我怀疑您没有尝试解析您认为正在尝试解析的字符串。 lwpd[4] 变量的实际值是多少?

关于Java JSONArray 抛出意外异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50334456/

相关文章:

java - 如何检查我们是否应该去谷歌搜索或只是简单的加载网址

jquery - JSON 数据的格式可能不正确

javascript - JS if else 条件基于 if div 元素更改 > 然后填充数据字段

php - PHP 的 JSON 输出

ruby-on-rails - 如何将值合并到 Rails 查询 as_json

Python/Pydantic - 使用带有 json 对象的列表

java - .setBackgroundResource 使我的应用程序崩溃

java - 如何在 java 中清除控制台(使用 netbeans)

java - Hadoop 文件系统中的通配符列出 API 调用

java - 处理android volley中的并发