首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用gson获取原始格式的Java json (仅用引号将字符串括起来

使用gson库可以很方便地将Java对象转换为JSON格式的字符串,但是默认情况下,gson会将JSON中的字符串用双引号括起来。如果需要获取原始格式的Java JSON,即仅用引号将字符串括起来,可以通过以下步骤实现:

  1. 导入gson库:在项目的构建文件中添加gson库的依赖,或者手动将gson的jar文件添加到项目中。
  2. 创建Java对象:首先,需要创建一个Java对象,该对象将被转换为JSON格式的字符串。
  3. 配置gson:创建一个Gson对象,并通过GsonBuilder进行配置。可以使用GsonBuilder的setPrettyPrinting方法来设置输出格式为漂亮打印,方便阅读。
  4. 转换为JSON字符串:使用Gson对象的toJson方法将Java对象转换为JSON格式的字符串。

以下是一个示例代码:

代码语言:txt
复制
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class Main {
    public static void main(String[] args) {
        // 创建Java对象
        Person person = new Person("John", "Doe", 30);

        // 配置gson
        Gson gson = new GsonBuilder().setPrettyPrinting().create();

        // 转换为JSON字符串
        String json = gson.toJson(person);

        System.out.println(json);
    }
}

class Person {
    private String firstName;
    private String lastName;
    private int age;

    public Person(String firstName, String lastName, int age) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
    }

    // 省略getter和setter方法
}

运行以上代码,将输出以下结果:

代码语言:txt
复制
{
  "firstName": "John",
  "lastName": "Doe",
  "age": 30
}

注意:以上输出结果中的字符串值被双引号括起来。如果需要获取原始格式的Java JSON,即仅用引号将字符串括起来,可以通过以下方式修改代码:

代码语言:txt
复制
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class Main {
    public static void main(String[] args) {
        // 创建Java对象
        Person person = new Person("John", "Doe", 30);

        // 配置gson
        Gson gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();

        // 转换为JSON字符串
        String json = gson.toJson(person);

        System.out.println(json);
    }
}

class Person {
    private String firstName;
    private String lastName;
    private int age;

    public Person(String firstName, String lastName, int age) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
    }

    // 省略getter和setter方法
}

在以上代码中,通过GsonBuilder的disableHtmlEscaping方法禁用HTML转义,从而实现获取原始格式的Java JSON。运行代码,将输出以下结果:

代码语言:txt
复制
{
  "firstName": "John",
  "lastName": "Doe",
  "age": 30
}

这样,字符串值将不再被双引号括起来,符合原始的JSON格式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MongoDB简析

MongoDB(NoSQL 文档型数据库 非关系型数据库) 一、JSON  Ⅰ、JSON就是一个字符串,通过Json可以标识不同语言的对象,并且该字符串可以转换为不同语言中的对象;  Ⅱ、Json的规范...:    (1)Json是一个字符串;    (2)Json中的属性名必须用双引号括起来;  Ⅲ、Json的两种格式:    (1)Json对象:{} {“name”:“秃子”,“age”:23}    ...;    (2) Object —> Json var json = Json.Stringify(obj);  Ⅵ、Java在默认情况下不支持Json解析,需要引入第三方jar包;     JSON-lib...  jackson   gson     Gson gson = new Gson();     Map map = gson.fromJson(json,Map.class); Json —> Object..._id 属性,这个属性对应一个唯一id,是文档的唯一标识(可以手动指定,但需要确保唯一性,不推荐使用);  Ⅸ、修改器    使用update会将整个文档进行替换,但是大部分情况下无需这么做,如果只对文档中一部分进行更新

98040

JSON金额解析BUG的解决过程

3.错误重现 经过定位、调试,发现问题出在解析json数据的代码上。账户系统接收到传输来的json数据后,首先保存在一个字符串content中,然后利用代码将字符串转换为json对象。...仔细查看json字符串,发现金额没有使用双引号括起来,说明生成json的时候,直接赋值的是金额,而不是转成字符串后再赋值。 那么如果将金额用双引号括起来,会有这个问题吗?...1.修改json格式 用这个方案,只需要在支付系统中生成json对象的时候,将金额转成字符串之后在赋值到json即可。...2.替换json库 这种方案,可以将json-lib替换为org.json。暂时不考虑gson,是因为这个gson库需要为json编写对应的Java类,修改工作量比较大。...> 2.7.0-SNAPSHOT 六、解决方案的变迁过程 简单列一下方案变迁过程, 1、支付系统修改json格式的封装代码,金额都使用字符串

1.1K50
  • 快速学习-JSON

    第12章 JSON 12.1 JSON 简介 AJAX一开始使用的时XML的数据格式,XML的数据格式非常简单清晰,容易编写,但是由于XML中包含了过多的标签,以及十分复杂的结构,解析起来也相对复杂,所以目前来讲...⑥ 比如,将JSON作为一个字符串发送给Servlet,在Java中就可以把JSON字符串转换为一个Java对象。...在Java中可以从文件中读取JSON字符串,也可以是客户端发送的JSON字符串,所以第一个问题,我们先来看如何将一个JSON字符串转换成一个Java对象。...首先解析JSON字符串我们需要导入第三方的工具,目前主流的解析JSON的工具大概有三种json-lib、jackson、gson。三种解析工具相比较json-lib的使用复杂,且效率较差。...= gson.toJson(list); // 如果将一个数组格式的json字符串转换成java对象需要用到 //Gson提供的一个匿名内部类: TypeToken TypeToken

    1.4K10

    JSON简单入门

    什么是Json? Json是一种轻量级的数据交换格式。易于人们的阅读和编写,同时也易于机器解析和生成。Json采用完全独立于语言的文本格式,而且很多语言都提供了对Json的支持。...json是一种轻量级的数据交换格式 轻量级指的是跟xml做比较 数据交换指的是客户端和服务器之间业务数据的传递格式 JSON在JavaScript中的使用 Json的定义 Json是由键值对组成,并且由花括号...每个键由引号引起来,键和值之间使用冒号进行分隔。 多组键值对之间使用逗号进行分隔。...2.一种字符串的形式存在我们叫它json字符串 使用场景:我们要操作json中的数据的时候,需要json对象 我们要在客户端和服务器之间进行数据交换的时候使用json字符串 //把Json对象转化称为...json字符串 JSON.stringify() //把Json字符串转化为Json对象 JSON.parse() Json在Java中的使用 JavaBean和Json的转换 引入依赖 <dependency

    40910

    gson参数走私浅析

    原文首发在:奇安信攻防社区https://forum.butian.net/share/3801Gson 是一个由 Google 开发的 Java 库,用于将 Java 对象序列化为 JSON 格式,以及将...JSON 字符串反序列化为 Java 对象。...0x00 前言Gson 是一个由 Google 开发的 Java 库,用于将 Java 对象序列化为 JSON 格式,以及将 JSON 字符串反序列化为 Java 对象。...并返回反序列化后的 Java 对象实例:查看具体字段的解析实现,首先是nextName,从调用的方法可以知道,gson默认情况下支持'、"、无引号三种解析方式:以双引号为例,查看具体的解析逻辑,主要是通过...,gson确实因为将\b"activityId"额外认为是一个独立的键,而取到了前者,而fastjson因为忽略了无关的\b仍正常解析获取到了后者,利用这一点差异完成了参数走私:此外,在将JSON反序列化成

    8410

    一个诡异的json反序列化问题

    将json字符串复制到在线json工具:https://www.sojson.com,先去掉化之后,再格式数据,发现json格式没有问题: 然后写了一个专门的测试类,将日志中打印的json字符串复制到json...3 改成gson工具 我尝试了一下将json的反序列化工具改成google的gson,代码如下: Map map = new Gson().fromJson(userJson, Map.class);...我带着试一试的心态,接下来,打算将转义字符去掉。 看看原始的json字符串,解析有没有问题。 怎么去掉转义字符呢? 手写工具类,感觉不太好,可能会写漏一些特殊字符的场景。...之前,我将项目的日志中的json字符串,复制到idea的Test的json变量中,当时将最外层的双引号一起复制过来了,保存的是1个斜杠的数据。 这个操作把我误导了。...而后面从在线的json工具中,把相同的json字符串,复制到idea的Test的json变量中,在双引号当中粘贴数据,保存的却是3个斜杠的数据,它会自动转义。 让我意识到了问题。

    14410

    JSON和AJAX知识点整理

    例子2:将服务器获得的数据回显在页面上面 设置接收到的响应数据格式为json对象 Jquery的get和post方法----->不指定type返回的数据类型,默认是text Jquery的getJSON...JSON 字符串,可以将其转换为一个JS对象,多用于将服务器端数据进行转换 JSON.stringify()将JS对象转换为JSON字符串,多用于向服务器端发送数据 JSON的具体语法,参考菜鸟教程...ajax局部更新网页的原理 JS对象---上文说的JSON对象就是JS对象 JS对象的key的双引号可写可不写,这样就与JSON字符串形式一致了 ajax中function(data),这里的data...()里面参数传入一个一个有效的 JSON 字符串,可以将其转换为一个JS对象,多用于将服务器端数据进行转换 JSON.stringify()将JS对象转换为JSON字符串,多用于向服务器端发送数据 JSON...的具体语法,参考菜鸟教程 ---- ajax局部更新网页的原理 ---- JS对象—上文说的JSON对象就是JS对象 JS对象的key的双引号可写可不写,这样就与JSON字符串形式一致了 JS中的对象

    1.5K10

    17 网络编程

    数据交换格式 数据交换格式主要分为纯文本格式、XML格式和JSON格式,其中纯文本格式是一种简单的、无格式的数据交换方式。...image.png JSON数组 在数组中,值可以是双引号括起来的字符串、数值、true、false、null、对象或者数组,而且这些结构可以嵌套。数组中值的JSON语法结构如图所示。...image.png 使用第三方JSON库 JSON-java库 目前Java官方没有提供JSON编码和解码所需要的类库,所以需要使用第三方JSON库,笔者推荐JSON-java库,JSON-java库提供源代码...google/gson alibaba/fastjson fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON...访问互联网资源 URL概念 Java的java.net包中还提供了高层次网络编程类——URL,通过URL类访问互联网资源。使用URL进行网络编程,不需要对协议本身有太多的了解,相对而言是比较简单的。

    39310

    【JavaSE专栏88】Java字符串和JSON对象的转换,转来转去就是这么玩!

    三、JSON对象转字符串 在 Java 中,可以使用不同的库来实现 JSON 对象转字符串的操作,比如使用 Jackson 库和 Gson 库来实现。...Jackson 库或 Gson 库将一个自定义的 Java 对象转换为 JSON 字符串,可以根据自己的需求选择适合的库来实现 JSON 对象转字符串的功能。...四、JSON字符串转对象 在 Java 中,可以使用不同的库来实现 JSON 字符串转对象的操作,比如使用 Jackson 库和 Gson 库来实现。...Jackson 库或 Gson 库将一个自定义的 JSON 字符串 转换为 Java 对象,可以根据自己的需求选择适合的库来实现字符串 转 JSON 对象的功能。...二、在 Java 中,有哪些常用的 JSON 处理库? 常用的 JSON 处理库有 Jackson、Gson、Fastjson 等。 三、如何将 Java 对象转换为 JSON 字符串?

    44560

    JSON 在JavaScript 中的使用。

    json 的定义 json 的访问 json 的两个常用方法 JSON 在 在 java 中的使用 javaBean 和 和 json 的互转 List 和 和 json 的互转 map 和 和 json...JSON 采用完全独立于语言的文本格式,而且很多语言都提供了对 json 的支持(包括 C, C++, C#, Java, JavaScript, Perl, Python 等)。...每个键由引号引起来,键和值之间使用冒号进行分隔, 多组键值对之间进行逗号进行分隔。...一种是:对象的形式存在,我们叫它 json 对象。 一种是:字符串的形式存在,我们叫它 json 字符串。 一般我们要操作 json 中的数据的时候,需要 json 对象的格式。...一般我们要在客户端和服务器之间进行数据交换的时候,使用 json 字符串。

    10K20

    ajax_json

    ,完成交互 request作用域 不使用 底层就是使用Response.getWriter()获取输出流 进行交互 5、JSON协议串 JSON协议串,本质上就是一个字符串。...a) 作用:异构的编程体系中,进行数据的传输,交互。 b) 核心: 定义了字符串的格式 对象形式 ? 集合形式 ? 内嵌对象 ? Map类型 与 对象的形式一致 ?...JSON协议解析 多种工具可以自动支持转换 java端:jsonlib gson(Google) fastjson(ali) jakeson(SpringMVC) Gson//对象是大括弧,...a) Json字符串的属性名与对象属性名不一致的问题 ? b) 解决对象回环问题 ?...注意:@ResponseBody封装的对象转换JSON的组件为 jackson 环境搭建:引入jackson相关的jar包 开发步骤; ? 使属性名与JSON字符串的key不一致 ?

    1.5K20

    SpringBoot的序列化和反序列化

    ,而是先把Use r对象转换成json格式的字符串,然后再进行传输的,而String类实现了Serializable接口并且显示指定了serialVersionUID 。...Json是一种轻量级的文本数据交换格式,在Json字符串中{}用来表示对象,[]用来表示列表,数据以key-value的形式存放,如: { "name":"zhangsan", "age":"22"..., "course":["java","python"] } 在 Spring Boot 中, 想要一个接口接收Json格式的数据并返回Json格式的数据,前端将http请求头“Accept”设置为“...流程图如下: 前端发来请求后,先调用HttpInputMessage从输入流中获取Json字符串,然后在HttpMessageConverter中把Json转换为接口需要的形参类型。...属性名称 解释 QuoteFieldNames 输出key时是否使用双引号,默认为true UseSingleQuotes 使用单引号而不是双引号,默认为false WriteMapNullValue

    2.5K40

    除了闹过腥风血雨的fastjosn,你还知道哪些Java解析JSON的利器?

    02、Gson Gson 是谷歌提供的一个开源库,可以将 Java 对象序列化为 JSON 字符串,同样可以将 JSON 字符串反序列化(解析)为匹配的 Java 对象。...Gson 虽然可以将任意的 Java 对象转成 JSON 字符串,但将字符串解析为指定的集合类型时就需要花点心思了,因为涉及到了泛型——TypeToken 是解决这个问题的银弹。...Java 对象序列化为 JSON,并将 JSON 存储成不同的格式。.../version> org.json.JSONObject 类可以通过 new 关键字将 JSON 字符串解析为 Java 对象,然后 get 的系列方法获取对应的键值,代码示例如下所示...05、fastjson fastjson 是阿里巴巴开源的 JSON 解析库,它可以解析 JSON 格式的字符串,也支持将 Java Bean 序列化为 JSON 字符串。

    1.3K20
    领券