如何使用GSON+ java插入转义字符,即在json字符串中插入转义字符"n"



我正在使用SpringBoot和Java的第三方API,他们的要求是按照以下格式发送JSON。

"{n" + 
"  "scheduleAt": "2020-01-16T09:45:29.361Z",n" + 
"  "serviceType": "TRUCK",n" + 
"  "stops": [n" + 
"    {n" + 
"      "location": {n" + 
"        "lat": "109.063753",n" + 
"        "lng": "312.998866"n" + 
"      },n" + 
"      "addresses": {n" + 
"        "en_IN": {n" + 
"          "displayString": "Please bring the BAG",n" + 
"          "country": "IN"n" + 
"        }n" + 
"      }n" + 
"    }n" + 
"  ]n" + 
" }";

但是我要发送的是这个

{
"scheduleAt": "2020-01-16T09:45:29.361Z",
"serviceType": "TRUCK",
"stops": [
{
"location": {
"lat": "109.063753",
"lng": "312.998866"
},
"addresses": {
"en_IN": {
"displayString": "Please bring the BAG",
"country": "TH"
}
}
}
]
}

任何人都可以告诉我如何使用 GSON 或任何其他库生成 json,以便我可以在 json 中获得""。我尝试使用.toString((方法,但它不起作用。我使用了 .replaceAll("","\"( 也不起作用。

@Samabcde我想要的是这样的。预期(

{n "scheduleAt": "2018-12-31T14:30:00.00Z",n "serviceType": "MOTORCYCLE",n "requesterContact": { "name": "Peter Pan", "phone": "232" },n "stops": [n {n "location": { "lat": "-6.255431000000001", "lng": "106.60114290000001" },n "addresses": {n "en_ID": {n "displayString":n "Jl. Perum Dasana Indah No.SD 3/ 17-18, RT.3/RW.1, Bojong Nangka, Klp. Dua, Tangerang, Banten 15810, Indonesia",n "country": "ID"n }n }n },n {n "location": { "lat": "-6.404722800000001", "lng": "106.81902130000003" },n "addresses": {n "en_ID": {n "displayString": "Jl. Kartini, Ruko No. 1E, Depok, Pancoran MAS, Kota Depok, Jawa Barat 16431, Indonesia",n "country": "ID"n }n }n }n ],n "deliveries": [n {n "toStop": 1,n "toContact": {n "name": "mm",n "phone": "9999999"n }n }n ]n}n'

但实际上我通过 GSON 得到的如下:(当前(

{
"scheduleAt": "2020-01-16T09:45:29.361Z",
"serviceType": "TRUCK",
"stops": [
{
"location": {
"lat": "109.063753",
"lng": "312.998866"
},
"addresses": {
"en_IN": {
"displayString": "Please bring the BAG",
"country": "TH"
}
}
}
]
}

我能够直接处理引用的文本,而无需任何其他设置或更改:

import com.google.gson.Gson;
public class GSONTest {
public String value;
public static void main(String[] args) {
Gson g = new Gson();
GSONTest gt = new GSONTest();
gt.value = "Test using "quoted" strings.";
System.out.println("String: " + gt.value);
System.out.println("JSON: " + g.toJson(gt));
}
}

输出:

String: Test using "quoted" strings.
JSON: {"value":"Test using "quoted" strings."}

最新更新