咨询一下数据库里通过SQL结构化查询出的表数据记录怎么转换为JSON格式?
发布网友
发布时间:2022-04-29 20:24
我来回答
共2个回答
懂视网
时间:2022-04-30 00:45
(MAX) 可能有截断,不推荐使用,方法中使用了 FOR XML PATH(‘‘) 实现,有关其使用方法参考这里
表结构:
SQL 语句:
SELECT ‘{"id":‘+CONVERT(NVARCHAR(20),id)+‘,"areacode":‘+areacode+‘,"areaname":"‘+areaname+‘","paremt_areacode":‘+paremt_areacode+‘},‘ FROM hk_dic_countrycode FOR XML PATH(‘‘)
执行结果:
用工具格式化后结果:
从结果中可以看出,结果最后多了一个",",将","删除,然后用"[]"包裹起来就是最后的结果了
用SQL语句将数据表中的数据保存为JSON格式
标签:
热心网友
时间:2022-04-29 21:53
import java.io.StringWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParser.Feature;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig.Feature;
import org.codehaus.jackson.type.TypeReference;
public class JsonUtils
{
private static ObjectMapper mapper = null;
static { mapper = new ObjectMapper();
mapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false);
mapper.configure(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER, true);
}
public static String toJson(Object target)
{
String json = "";
try {
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
mapper.writeValue(gen, target);
gen.close();
json = sw.toString();
}
catch (Exception e) {
throw new UnexpectedException("对象转换Json字符串出错," + target.toString(), e);
}
return json;
}
}