Java JSONArray引发意外异常

时间:2018-05-14 15:53:50

标签: java json

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

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

导致Java抱怨。它带回消息

  

[" 9784142605765949528",2869,264,7]    类型java.lang.String无法转换为JSONArray

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

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

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

Feedback是一个内部工具,用于帮助我进行调试。我在下面显示的JSON来自对Feedback的调用,后续new JSONArray()引发此错误

我没有看到这里有什么问题 - 字符串是有效的JSON。也许这里有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

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

file

由于上述工作,我怀疑你没有尝试解析你认为你试图解析的字符串。您的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); } } 变量的实际价值是多少?