首页 前端知识 JSON转化成对象或对象转化成JSON字符串

JSON转化成对象或对象转化成JSON字符串

2024-05-14 23:05:41 前端知识 前端哥 75 94 我要收藏

1.java中:

        1.1:JSON.parseObject()方法: 

        在 Java 中,JSON.parseObject() 是 Fastjson 库中的一个方法,用于将 JSON 格式的字符串转换为 Java 对象。要使用这个方法,你需要先导入 Fastjson 库。

具体来说,JSON.parseObject() 方法接受一个 JSON 格式的字符串作为参数,并将其解析为一个 Java 对象。这个 Java 对象可以是一个简单的类型,如 String、Integer 等,也可以是一个复杂的类型,如自定义的类或集合类型。在解析过程中,Fastjson 会根据 JSON 字符串中的键值对来创建对应的 Java 对象属性。

以下是一个简单的示例:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class Main {
    public static void main(String[] args) {
        String jsonString = "{\"name\":\"张三\",\"age\":30}";
        JSONObject jsonObject = JSON.parseObject(jsonString);
        System.out.println("姓名:" + jsonObject.getString("name"));
        System.out.println("年龄:" + jsonObject.getInteger("age"));
    }
}

        1.2:JSON.toJSONString():

        JSON.toJSONString() 是 Fastjson 库中提供的一个方法,用于将 Java 对象转换为 JSON 格式的字符串。Fastjson 是一个阿里巴巴开源的高性能功能完善的 JSON 库,它可以用来在 Java 对象和 JSON 数据之间进行转换。
以下是 JSON.toJSONString() 方法的使用示例:
         1 解析:
                JSON.toJSONString() 方法接受一个 Java 对象作为参数。
它返回一个 JSON 格式的字符串,这个字符串表示了输入 Java 对象的 JSON 形式。
          2 代码示例:

import com.alibaba.fastjson.JSON;

public class Main {
    public static void main(String[] args) {
        // 创建一个 Person 对象
        Person person = new Person();
        person.setName("张三");
        person.setAge(30);
        person.setCity("北京");

        // 使用 toJSONString 方法将 Person 对象转换为 JSON 字符串
        String jsonString = JSON.toJSONString(person);

        // 输出 JSON 字符串
        System.out.println(jsonString); // 输出:{"age":30,"city":"北京","name":"张三"}
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // 省略构造函数、getter 和 setter
}

        3 注意事项:
        JSON.toJSONString() 方法会忽略 Java 对象的 transient 修饰的属性。
如果 Java 对象的某个属性值为 null,则在生成的 JSON 字符串中不会包含这个属性。
可以通过 Fastjson 提供的 SerializerFeature 来自定义序列化的行为,比如输出字段的顺序、格式化日期等。
JSON.toJSONString() 方法是 Fastjson 库中非常常用的一个方法,它提供了一种简便的方式来将 Java 对象转换为 JSON 字符串,这在 Web 开发中尤其有用,因为 JSON 是前后端交互的常用数据格式。

        1.3:JSON.parse(); 和JSON.toJSON():

        在Fastjson库中,JSON.parse()和JSON.toJSON()是用于处理JSON数据的两种不同方法。具体如下:
        JSON.parse():这个方法用于将JSON格式的字符串反序列化成Java对象。它通常用于解析从网络请求或文件中获取的JSON数据,将其转换为可以在Java程序中操作的对象形式。JSON.parse()可以解析各种类型的JSON数据,包括简单的类型如字符串、数字等,以及复杂的类型如数组和嵌套的对象。
        JSON.toJSON():这个方法用于将Java对象序列化成JSON格式的字符串。当需要将内存中的Java对象转换为JSON字符串以便于存储或传输时,可以使用JSON.toJSON()方法。这个方法会遍历Java对象的属性,并将其转换为对应的JSON键值对。
总的来说,JSON.parse()和JSON.toJSON()是Fastjson库中用于数据转换的两个基本方法,它们分别用于反序列化和序列化JSON数据,是处理JSON数据的重要工具。

         1.4:JSON.toJSONString()和JSON.toJSON()的区别


        在Fastjson库中,JSON.toJSONString()和JSON.toJSON()这两个方法都用于将Java对象转换为JSON格式的字符串,但它们之间存在一些差异。具体如下:

        JSON.toJSONString():这个方法是Fastjson库中提供的一个静态方法,它接受一个Java对象作为参数,并返回该对象的JSON字符串表示。这个方法直接调用了toJSONString()方法,没有对结果进行任何额外的处理。
JSON.toJSON():这个方法也是Fastjson库中的一个静态方法,它同样接受一个Java对象作为参数,但它返回的是一个JSON对象,而不是直接返回JSON字符串。这个JSON对象可以进一步链式调用其他方法,例如toString()来获取JSON字符串,或者toJSONString()来得到格式化后的JSON字符串。这样做的好处是可以对生成的JSON字符串进行更多的控制,比如格式化输出、省略空值等。
        总的来说,如果你只需要简单地将Java对象转换为JSON字符串,而不需要对生成的字符串做任何额外处理,那么使用JSON.toJSONString()就足够了。如果你需要在转换为JSON字符串的过程中进行一些自定义的操作,比如格式化输出,那么应该使用JSON.toJSON()方法,然后链式调用相应的方法来获取最终的JSON字符串。

        1.4:JSON.parse();和JSON.parseObject()的区别

        在Fastjson库中,JSON.parse()和JSON.parseObject()都用于解析JSON字符串,但它们在返回类型和泛型支持上存在一些差异。具体来说:

        返回类型:JSON.parse()返回的是一个通用的Object对象,这意味着当不清楚JSON数据的具体结构时,可以使用这个方法来获取一个基本的对象表示。而JSON.parseObject()可以返回一个JSONObject,这是Fastjson提供的一个特殊的Map实现类,它允许使用键值对的方式来访问JSON数据。
        泛型支持:JSON.parseObject()方法还支持泛型,可以将JSON字符串直接解析为指定的Java类型。这在处理具体的Java对象时非常有用,因为它可以直接将JSON数据映射到Java类的实例上。
        总的来说,如果你需要将JSON字符串解析为一个通用的Object对象,或者你不需要特定的返回类型,那么可以使用JSON.parse()。如果你希望直接将JSON字符串解析为一个JSONObject,或者你想要将JSON字符串解析为一个具体的Java类型,那么应该使用JSON.parseObject()。这两个方法都是Fastjson库中非常有用的工具,可以帮助开发者方便地处理JSON数据。

2.js中:

        2.1:将一个JavaScript对象转换为JSON字符串,可以使用JSON.stringify()方法:

const obj = { name: 'John', age: 30, city: 'New York' };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出:{"name":"John","age":30,"city":"New York"}

        2.2:将一个JSON字符串转换为JavaScript对象,可以使用JSON.parse()方法:

const jsonString = '{"name":"John","age":30,"city":"New York"}';
const obj = JSON.parse(jsonString);
console.log(obj); // 输出:{ name: 'John', age: 30, city: 'New York' }

        2.3:注意:

                JSON.parse()方法只能将符合JSON格式的字符串转换为JavaScript对象,如果字符串不符合JSON格式,将会抛出异常。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/8715.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!