当前位置:   article > 正文

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

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

1.java中:

        1.1:JSON.parseObject()方法: 

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

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

以下是一个简单的示例:

  1. import com.alibaba.fastjson.JSON;
  2. import com.alibaba.fastjson.JSONObject;
  3. public class Main {
  4. public static void main(String[] args) {
  5. String jsonString = "{\"name\":\"张三\",\"age\":30}";
  6. JSONObject jsonObject = JSON.parseObject(jsonString);
  7. System.out.println("姓名:" + jsonObject.getString("name"));
  8. System.out.println("年龄:" + jsonObject.getInteger("age"));
  9. }
  10. }

        1.2:JSON.toJSONString():

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

  1. import com.alibaba.fastjson.JSON;
  2. public class Main {
  3. public static void main(String[] args) {
  4. // 创建一个 Person 对象
  5. Person person = new Person();
  6. person.setName("张三");
  7. person.setAge(30);
  8. person.setCity("北京");
  9. // 使用 toJSONString 方法将 Person 对象转换为 JSON 字符串
  10. String jsonString = JSON.toJSONString(person);
  11. // 输出 JSON 字符串
  12. System.out.println(jsonString); // 输出:{"age":30,"city":"北京","name":"张三"}
  13. }
  14. }
  15. class Person {
  16. private String name;
  17. private int age;
  18. private String city;
  19. // 省略构造函数、getter 和 setter
  20. }

        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()方法:

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

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

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

        2.3:注意:

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号