首页
学习
活动
专区
工具
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会将整个文档进行替换,但是大部分情况下无需这么做,如果只对文档中一部分进行更新

97840

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简单入门

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

    40610

    一个诡异json反序列化问题

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

    13410

    17 网络编程

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

    39010

    JSON和AJAX知识点整理

    例子2:服务器获得数据回显在页面上面 设置接收到响应数据格式json对象 Jqueryget和post方法----->不指定type返回数据类型,默认是text JquerygetJSON...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

    【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 字符串

    40460

    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.4K40

    适用于JavaScript和Node.jsJSON初学者教程

    您可以在这样组织中工作:有些后端服务是用Python编写,有些后端是Java,前端是JS,它们都可以完美地交换JSON消息。 以JSON格式存储数据 首先JSON是一个字符串。...(几乎)所有内容都应使用引号起来 与JavaScript不同,您只应使用引号并将所有对象属性包装在其中。您不能使用引号或反引号。...所有字段名称都用双引号起来,但并非所有原始值都使用引号起来。数字和布尔值不带引号存储。 对象存储在花括号中 像在JS中一样,花括号用于存储对象。...请注意,如果服务器以JSON格式响应,则期望它以对象响应。您不能只列出这些字段。它们都需要用大括号起来才能成为JSON对象。...数组存储在方括号中 一切都与JS中完全一样,我们数组名称用双引号起来,并且数组本身在方括号中表示。

    2.7K10

    七夕,帮他修个 Bug!

    由于游戏是使用 Java 语言开发,他把这些配置封装成了一个对象,代码如下: // 游戏配置 class GameConfig { // 玩家名 String name; // 游戏难度...JSON 字符串,再通过 Gson 解析库 JSON 字符串转换为 Java 对象,就能获取到游戏配置信息,从而进行下一步处理了。...= new Gson() .fromJson(jsonStr, GameConfig.class); // 获取玩家名称 String name = config.getName();...打印出异常信息,很明显,是 JSON 解析错误了: 仔细一看,哎,这小糊涂,配置文件竟然输错了,行尾少了个必要引号,当然会解析失败了!...也可以使用 JSON Schema validation online 等在线校验 JSON Schema 网页来查看效果: 在线校验 JSON Schema 功能非常强大,除了对字段类型校验外,

    43740
    领券