java中将map转成json时,如何将map中的整型数字在转成json后,变成字符串,而不是整型。

比如数字1在转成json后为"1"。
例如:{"sum":"123"} 而不是{"sum":123}

好像没有什么特别的办法,可能是我才疏学浅,

我知道的两种方式:

    map是键值对存在,那么类型都是固定的,我们可以再申请个map<String ,String>遍历替换原来的map再转换成json字符串

    字符串替换,用正则添加双引号:

public void testJson(){
    Map<String,Integer> map = new HashMap<String,Integer>();
    map.put("aaa", 111);
    String json = JSON.toJSONString(map);   
    String json1 = json.replaceAll(":", ":\"");
    json1 = json1.replaceAll("}", "\"}");
    System.out.println(json);
    System.out.println(json1);
}

追问

你的代码不太对,不应该直接把所有的替换了

追答

map中都是键值对,每个数据类型都相同,如果要把里面的Integer都替换成String两种方法应该是可以的,如果你要把其中某些数值做转换那就新建map做遍历替换把。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-08-07
public static String map2Json(Map map) {
if (map == null) {
return "{}";
} else {
Set keys = map.keySet();
StringBuffer jsonBuffer = new StringBuffer();
jsonBuffer.append("{");
Iterator it = keys.iterator();

while (true) {
while (it.hasNext()) {
Object key = it.next();
Object value = map.get(key);
if (value instanceof List) {
List jsonMap2 = (List) value;
jsonBuffer.append("\"" + key + "\":[");
Iterator iterator = jsonMap2.iterator();

while (iterator.hasNext()) {
Map jsonMap1 = (Map) iterator.next();
jsonBuffer.append(map2Json(jsonMap1));
if (iterator.hasNext()) {
jsonBuffer.append(",");
}
}

jsonBuffer.append("]");
if (it.hasNext()) {
jsonBuffer.append(",");
}
} else if (value instanceof Map) {
jsonBuffer.append("\"" + key + "\":");
Map jsonMap = (Map) value;
jsonBuffer.append(map2Json(jsonMap));
if (it.hasNext()) {
jsonBuffer.append(",");
}
} else {
jsonBuffer.append("\"" + key + "\":\""
+ (null != value && !"null".equals(value) ? string2Json(String.valueOf(value)) : "")
+ "\"");
if (it.hasNext()) {
jsonBuffer.append(",");
}
}
}

jsonBuffer.append("}");
return jsonBuffer.toString();
}
}
}

java中将map转成json时,如何将map中的整型数字在转成json后,变成字符串...
map是键值对存在,那么类型都是固定的,我们可以再申请个map<String ,String>遍历替换原来的map再转换成json字符串 字符串替换,用正则添加双引号:public void testJson(){ Map<String,Integer> map = new HashMap<String,Integer>(); map.put("aaa", 111); String json = JSON.toJSON...

如何将Map转化为json字符串
1、如图所示新建一个demo作为测试。2、这里是第一种方法,也是推荐的一个方法,需要引入如图所示的jar包(这里是java项目引入jar)。3、如图所示是全部的代码,首先创建一个map,使用转换方法进行转换后转成字符串格式输出。4、点击运行该java文件,即可在输出控制台看到转换成功的字符串。5、这是第二种方...

map转成json字符串怎么弄
可以使用Java中的JSON库,如Gson或Jackson,将Map对象转换为JSON字符串。具体的转换过程包括创建Map对象、选择适当的JSON库、调用库中的方法将Map转换为JSON字符串。二、1. 创建Map对象 在Java中,Map是一个接口,它存储键值对。你可以使用HashMap、TreeMap等实现类来创建Map对象。例如:java Map map =...

如何把map转成json
1. Java中的转换方法:在Java中,可以使用内置的JSON库将Map转换为JSON格式。具体的实现方式是使用Map对象的`toString`方法将Map转换为字符串表示形式,然后使用JSON库将字符串解析为JSON对象。此外,也可以使用第三方库如Gson或Jackson来简化转换过程。2. Python中的转换方法:在Python中,可以使用内置的`...

map转换成JSON的方法
需要确保对象的属性被正确地序列化为JSON。反之,从JSON到Map的转换需要将JSON解析为对象,并将对象转换为Map。这一过程可能需要使用相应的解析库。在处理ASCII排序的MAP时,需先确保MAP中的键按照ASCII顺序排序,然后进行序列化或反序列化操作。确保排序的正确性对于保持数据的逻辑一致性至关重要。

如何将Map转换成Gson json
× 个人、企业类侵权投诉 违法有害信息,请在下方选择后提交 类别 垃圾广告 低质灌水 色情、暴力 政治敏感 我们会通过消息、邮箱等方式尽快将举报结果通知您。 说明 0\/200 提交 取消 新手帮助 如何答题 获取采纳 使用财富值 玩法介绍 知道商城 知道团队 合伙人认证 高质量问答 投诉建议 意见反馈 账号申诉 智能...

Java怎么把Map转换成JSON数据
导入import org.json.JSONObject;包 Map<String, Object> map = new HashMap<>();map.put("key1", "value1");map.put("key2", "value2");\/\/ 将Map对象转换为JSONObject JSONObject jsonObject = new JSONObject(map);

map转json字符串去除空字符串
1、首先将map转换成obj。 2、然后再将obj转换成json。 3、最后使用fastJson进行转换,importcom.alibaba.fastjson.json。

如何将Map转化为json字符串
把map转成json的步骤:1、需要一些jar包:json-lib-2.4-jdk15.jar、ezmorph-1.0.6.jar、commons-logging.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar。2、把Map转换成json, 要使用jsonObject对象:Map<String, Object> map = new HashMap<String, Object>();map.put...

如何把map转成json字符串
1. Python 在Python中,可以使用内置的`json`模块轻松地将字典(在Python中类似于其他语言中的`map`)转换成JSON字符串。```python import json 假设我们有一个字典 my_map = {'name': 'John', 'age': 30, 'city': 'New York'} 使用json.dumps()方法将其转换成JSON字符串 json_str = ...

相似回答