You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ Gradle项目中使用JSONArray.fromObject报错如何解决?

问题原因及解决方案

核心问题

你添加的org.json官方库的JSONArray类并没有fromObject这个静态方法,这个方法是其他JSON库(比如阿里的Fastjson)提供的,你混淆了不同JSON库的API。

解决方案

方案1:继续使用org.json库实现需求

如果要坚持用org.json,可以通过以下方式创建/转换JSONArray:

  • 从字符串直接初始化:
    String jsonStr = "[1,2,3,\"test\"]";
    JSONArray jsonArray = new JSONArray(jsonStr);
    
  • 从集合类初始化:
    List<String> dataList = Arrays.asList("a", "b", "c");
    JSONArray jsonArray = new JSONArray(dataList);
    

方案2:切换到支持fromObject方法的JSON库(如Fastjson)

如果你确实需要fromObject方法,建议替换成阿里的Fastjson库,步骤如下:

  1. 修改Gradle依赖,替换原有的org.json依赖:
    implementation 'com.alibaba:fastjson2:2.0.32' // 可使用最新稳定版本
    
  2. 导入正确的包并调用方法:
    import com.alibaba.fastjson2.JSONArray;
    
    // 使用fromObject转换任意对象为JSONArray
    List<Integer> numList = Arrays.asList(1,2,3);
    JSONArray jsonArray = JSONArray.fromObject(numList);
    

额外提示

  • 不同JSON库的API差异极大,使用前务必对应查看目标库的类结构和方法说明,避免跨库混淆API。
  • 检查代码中的import语句,确保导入的JSONArray类和当前依赖的库完全匹配,避免出现导包错误。

内容的提问来源于stack exchange,提问作者ccc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 10:54:18