首页 > 其他分享 >【数据结构】字符串与JSON字符串、JSON字符串及相应数据结构(如对象与数组)之间的相互转换

【数据结构】字符串与JSON字符串、JSON字符串及相应数据结构(如对象与数组)之间的相互转换

时间:2024-09-13 21:24:59浏览次数:14  
标签:name age JSON 字符串 数据结构 public String

前言:

下面打印日志用的是FastJSON依赖库中的 @Log4j2。依赖:

<!-- Alibaba Fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.80</version>
</dependency>

目录

普通字符串 -> json字符串

json字符串 -> 普通字符串 

java对象 -> json字符串 

json字符串 -> java对象 


 

  • 普通字符串 -> json字符串

代码: 

    public static void main(String[] args) {
        String s = "ningxingxing";
        String jsonS = "{\"name\":\""+s+"\"}";
        System.out.println(jsonS);
    }

输出结果:


 

  • json字符串 -> 普通字符串 

 代码:

    public static void main(String[] args) {
        // 定义一个字符串
        String s = "Hello NingXingxing!";
        // 转换为JSON格式的字符串
        String jsonString = "{\"message\":\""+s+"\"}";
        // 输出JSON格式的字符串
        log.info("jsonString:{}",jsonString);
        // 将JSON字符串解析为JSON对象
        JSONObject jsonObject = JSON.parseObject(jsonString);
        // 获取JSON对象中的属性值
        String message = jsonObject.getString("message");
        // 输出属性值
        log.info("message:{}",message);

    }

执行效果:


  • java对象 -> json字符串 

 java对象可以通过序列化转换为json字符串

代码:

package com.muyu.cloud.system.test;

import com.alibaba.fastjson2.JSON;
import lombok.extern.log4j.Log4j2;

/**
 * @author: 宁兴星
 * Date: 2024/9/13 20:50
 * Description:
 */
class Person {
    private String name;
    private int age;

    // 构造函数
    public Person() {
        // 默认构造函数
    }

    // 带参数的构造函数
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 方法
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    // Setter 方法
    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

@Log4j2
public class STest {
    
    public static void main(String[] args) {
        // 定义一个Person对象
        Person person = new Person();
        // 设置Person对象的属性值
        person.setName("NingXingxing");
        person.setAge(20);
        // 将Person对象转换为JSON格式的字符串
        String jsonString = JSON.toJSONString(person);
        // 输出JSON格式的字符串
        log.info("jsonString:{}",jsonString);
    }

}

执行效果:

  • json字符串 -> java对象 

代码:

package com.muyu.cloud.system.test;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import lombok.extern.log4j.Log4j2;

/**
 * @author: 宁兴星
 * Date: 2024/9/13 20:50
 * Description:
 */

class Person {
    private String name;
    private int age;

    // 构造函数
    public Person() {
        // 默认构造函数
    }

    // 带参数的构造函数
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 方法
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    // Setter 方法
    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

@Log4j2
public class STest {

    public static void main(String[] args) {
        // 定义一个JSON格式的字符串
        String jsonString = "{\"name\":\"NingXingxing\",\"age\":20}";
        // 将JSON格式的字符串解析为Person对象
        Person person = JSON.parseObject(jsonString, Person.class);
        // 输出Person对象的属性值
        log.info("name:{}, age:{}", person.getName(), person.getAge());
    }

}

输出结果:

 

标签:name,age,JSON,字符串,数据结构,public,String
From: https://blog.csdn.net/wjjjjxxxx/article/details/142219935

相关文章

  • 数据结构之美-深入理解树形结构
    一认识树形结构树形结构是一种广泛应用的非线性数据结构,它在计算机科学和日常生活中都有广泛的应用。比如文件系统,邮件系统,编译器语法树,决策树,网络通信,甚至机器学习当中,都有树形数据结构的影子。本文旨在梳理日常用到的各类树形结构以及其优点和劣势,让渎者对树形结构有一个深入......
  • python处理时间字符串
    时间格式ISO8601标准"2024-09-11T00:00:03Z"Z的时间字符串表示UTC时间(协调世界时)。Z(Zerooffset/UTC)如果没有Z,通常还可以使用时区偏移来表示时间。例如:2024-09-11T00:00:03+08:00表示东八区的时间(比UTC提前8小时)。2024-09-11T00:00:03-05:00表示比UTC晚5小时的......
  • 【数据结构】第八节:链式二叉树
    个人主页: NiKo数据结构专栏: 数据结构与算法 源码获取:Gitee——数据结构一、二叉树的链式结构typedefintBTDataType;typedefstructBinaryTreeNode{ BTDataTypedata; structBinaryTreeNode*left;//左子树根节点 structBinaryTreeNode*right;//右子......
  • C# 开源教程带你轻松掌握数据结构与算法
    前言在项目开发过程中,理解数据结构和算法如同掌握盖房子的秘诀。算法不仅能帮助我们编写高效、优质的代码,还能解决项目中遇到的各种难题。给大家推荐一个支持C#的开源免费、新手友好的数据结构与算法入门教程:Hello算法。项目介绍《HelloAlgo》是一本开源免费、新手友好的数......
  • 数据结构和算法之基本概念
    原文出处:数据结构和算法之基本概念  关注码农爱刷题,看更多技术文章!!其他文章:Java基础之数组    在计算机领域中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构(Structure)。数据结构是相互之间存在一种或多种特定关系的数......
  • 掌握CFML:在输出缓冲区中高效搜索字符串的技巧
    掌握CFML:在输出缓冲区中高效搜索字符串的技巧在开发过程中,特别是使用ColdFusionMarkupLanguage(CFML)进行Web开发时,处理大量数据并快速找到特定字符串是一项常见且重要的任务。为了提高程序效率,我们经常需要在输出缓冲区中搜索特定的字符串,并在必要时对其进行处理。本文将分......
  • 数据结构--P14
    数据结构学习什么:数据结构、数据对象:算法的结构:算法的所有结构:时间复杂度:线性表的定义和基本操作:【旧版】2.2.1_顺序表的定义静态分配方式的顺序表静态分配时的易错点:‘违规’打印数组顺序表的实现--动态分配就是不用数组了,改用指针了相关函数初始化--函数1......
  • 从MySQL JSON字段中提取去重城市列表的SQL查询
    重点:数据库有一个城市字段,是一个json数组(["北京市","上海市","广州市"]),每条数据的城市可能重合,通过下面SQL可返回去重后的城市列表,mysql版本要5.7以上才支持。SQL如下:SELECTDISTINCTTRIM(JSON_UNQUOTE(JSON_EXTRACT(城市json字段名,CONCAT('$[',n.n,']'))))AScityF......
  • YAML 与 JSON、XML 比较及 YAML 使用最佳实践
    YAML(YAMLAin'tMarkupLanguage的递归缩写)是一种人类可读的数据序列化格式,通常用于配置文件、数据交换和设置管理。它简洁且易于读写,尤其适合在编程语言之间传递配置数据。以下是一些YAML的基本概念和语法示例:基本语法键值对:name:JohnDoeage:30嵌套:person:name:JohnDoe......
  • C语言 11 字符串
    前面学习了数组,而对于字符类型的数组,比较特殊,它实际上可以作为一个字符串(String)表示,字符串就是一个或多个字符的序列,比如在一开始认识的"HelloWorld",像这样的多个字符形成的一连串数据,就是一个字符串,而printf函数接受的第一个参数也是字符串。在C语言中并没有直接提供存储字符......