将哈希映射转换为 JSON 字符串
Converting a hashmap into a JSON string
我想将散列映射转换为 json 字符串以通过网络发送。这是代码
public static void main(String []args)
throws JSONException, JsonParseException, JsonMappingException, IOException {
Map<String,String> varMap = new MyMap<String,String>();
varMap.put("VAR","123");
varMap.put("OTHER_VAR","234");
Gson gson = new GsonBuilder().create();
String jsonString = gson.toJson(varMap);
JSONObject json = new JSONObject();
json.put("Variable",jsonString);
System.out.println("JSON " + json);
}
输出是
JSON {"Variable":"{\"VAR\":\"123\",\"OTHER_VAR\":\"234\"}"}
我认为这样做是正确的,但我发现的示例不包括 strng 中的反斜杠。我知道反斜杠转义了双引号,因此字符串替换方法的 none 可以替换反斜杠。
是否有获得以下输出的技巧?
JSON {"Variable":{"VAR":"123","OTHER_VAR":"234"}}
可以使用自定义序列化 属性 以某种方式不添加反斜杠吗?
这应该会给您想要的结果。您正在 JSON 编码一个 JSON 字符串并添加这些反斜杠以转义这些字符。
public static void main(String []args) throws JSONException, JsonParseException, JsonMappingException, IOException{
Map<String, Object> top = new HashMap<String, Object>();
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("VAR","123");
vars.put("OTHER_VAR","234");
top.put("Variable", vars);
Gson gson = new GsonBuilder().create();
String jsonString = gson.toJson(top);
System.out.println("JSON " + json);
}
我想将散列映射转换为 json 字符串以通过网络发送。这是代码
public static void main(String []args)
throws JSONException, JsonParseException, JsonMappingException, IOException {
Map<String,String> varMap = new MyMap<String,String>();
varMap.put("VAR","123");
varMap.put("OTHER_VAR","234");
Gson gson = new GsonBuilder().create();
String jsonString = gson.toJson(varMap);
JSONObject json = new JSONObject();
json.put("Variable",jsonString);
System.out.println("JSON " + json);
}
输出是
JSON {"Variable":"{\"VAR\":\"123\",\"OTHER_VAR\":\"234\"}"}
我认为这样做是正确的,但我发现的示例不包括 strng 中的反斜杠。我知道反斜杠转义了双引号,因此字符串替换方法的 none 可以替换反斜杠。
是否有获得以下输出的技巧?
JSON {"Variable":{"VAR":"123","OTHER_VAR":"234"}}
可以使用自定义序列化 属性 以某种方式不添加反斜杠吗?
这应该会给您想要的结果。您正在 JSON 编码一个 JSON 字符串并添加这些反斜杠以转义这些字符。
public static void main(String []args) throws JSONException, JsonParseException, JsonMappingException, IOException{
Map<String, Object> top = new HashMap<String, Object>();
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("VAR","123");
vars.put("OTHER_VAR","234");
top.put("Variable", vars);
Gson gson = new GsonBuilder().create();
String jsonString = gson.toJson(top);
System.out.println("JSON " + json);
}