JSONObject没有parseObject和fromObject的方法

想要用JSONObject的方法能够直接将数据库里存的String类型的数据转化成JSON类型,结果虽然引用了JSONObject,但是发现竟然没有fromObject和parseObject方法,还以为是没有清缓存,然后Invalidate了,也重启了,还是没效果,一查才知道,引入的不是

import org.json.JSONObject;

要使用JSONObjec.parseObject()方法有两种包可以使用,我在网上搜索的大家使用的都是引入六个包的方式,而且对第二种引入一个包的方式都表示否定,但我个人使用第一种方式没成功,使用第二种方式成功了,所以这里贴上两种方式,以便以后参考。

第一种:net.sf.json.JSONObject
这里参考的博客有:

JSONObject没有fromObject方法及其依赖引入

这个大佬在博文中说,要使用

import net.sf.json.JSONObject;
相应地需要添加的依赖是:

   <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.3</version>
    </dependency>

    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>

    </dependency>

    <dependency>
        <groupId>net.sf.ezmorph</groupId>
        <artifactId>ezmorph</artifactId>
        <version>1.0.6</version>
    </dependency>

我一开始使用这种方法,import changes了很久,但是最后还是没有成功,我甚至还invalidate+重启了程序,但是没有效果,后来第二天打开程序的时候,重新import了一下,发现可以用了,所以真的是很迷。
大家都说这个方法好用,可能是个人的问题,所以优先尝试地最好还是这种方法。

第二种:com.alibaba.fastjson.JSONObject
这个方法大佬也说过,不过大佬保持了否定的态度,但是最后还是非常友好地给出了依赖方式:

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.15</version>
    </dependency>

我现在使用的是这种方法,虽然大家都不太看好,但是我用是有效的,所以大家看个人吧。
同时,我还参考了其他大佬的博客:

JSONObject fromObject() 需要引入的包

JSONObject的方法有好多真的很好用,我一开始是想要进行字符串和JSON格式的转化,想要使用这个方法,后来去搜索发现还有许多便利的方法,以后继续探索吧。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
JSONObject.fromObjectJSONObject.parseObject都是用于将 JSON 字符串转换为 Java 对象的方法。但它们所属的类库不同。 1. JSONObject.fromObject:这个方法是来自于 Java 的 JSON-lib 库。它可以将 JSON 字符串转换为一个 JSONObject 对象,该对象可以方便地操作 JSON 数据。例如,你可以通过该对象获取特定的属性值、修改属性值、添加新的属性等。 示例代码: ``` import net.sf.json.JSONObject; // ... String jsonString = "{\"name\":\"John\", \"age\":30}"; JSONObject jsonObject = JSONObject.fromObject(jsonString); String name = jsonObject.getString("name"); int age = jsonObject.getInt("age"); System.out.println("Name: " + name); System.out.println("Age: " + age); ``` 2. JSONObject.parseObject:这个方法来自于阿里巴巴的 fastjson 库。它可以将 JSON 字符串转换为一个 Java 对象,该对象可以直接与 Java 类型进行交互。使用 parseObject 方法时,你需要指定目标对象的类型。 示例代码: ``` import com.alibaba.fastjson.JSON; // ... String jsonString = "{\"name\":\"John\", \"age\":30}"; Person person = JSON.parseObject(jsonString, Person.class); String name = person.getName(); int age = person.getAge(); System.out.println("Name: " + name); System.out.println("Age: " + age); ``` 需要注意的是,如果你使用的是 fastjson 库,你需要在项目中添加 fastjson 的依赖。对于 JSON-lib 库,你需要添加 json-lib 的依赖。 这两种方法在处理 JSON 字符串时都提供了很大的灵活性和便利性,你可以根据自己的需求选择其中之一来使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值