数据库里查出的数据怎么转换为JSON

如题所述

第1个回答  推荐于2017-10-05
你用什么语言编程?
你的意思是不通过语言直接查出来就是JSON格式的?
小一点的还好 自己拼接问题不大 但是数据超出6W条数据的时候 你出来的结果大小长度都接近翻了快要一倍,内存会吃不消的。追问

java

追答

用JSON的辅助JAR包比较省事,以下是我项目用到的代码2种都用到了。
第一个:
第三方的JAR包: Jackson-all-1.9.8.jar
/**
* @param object 需要转换为Json格式的对象(可以为Map、List、数组和其他原生数据类型)
* @return String 返回该对象的Json格式字符串
* @throws Exception
*/
public static String gnerateJsonFromObject(Object object)throws Exception{
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString( object);
}

第二个:
我手写的时候下身一直很不适~
因为特殊业务,【表】为不确定项,所以我就精简下给你不明白的话请指出。
public String SqlDate(String col,String tableNa) {
Connection conn = null;
Statement stm = null;
String result = "";
try {
conn = this.getSqlMapClientTemplate()
.getDataSource().getConnection();
conn.setAutoCommit(false);
stm = conn.createStatement();
String sql = "select {0} from {1} where 1 = 1";
sql = MessageFormat.format(sql,col,tableNa);
ResultSet rs = stm.executeQuery(sql);
StringBuffer sb = new StringBuffer();
String[] trs = col.split(",");
while(rs.next()){
sb.append("[");
for(int i=0;i<trs.length;i++){
sb.append("\""+trs[i]+"\""+":");
sb.append("\""+rs.getObject(i+1).toString()+"\"");
}
sb.append("]");
}
result = sb.toString();
} catch (Exception ex) {
ex.printStackTrace();
}finally{
try {
if(stm!=null){stm.close();}
if(conn!=null){conn.close();}

} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}

本回答被提问者采纳
第2个回答  2012-10-11
看你用什么工具和语言,C#的话,.net framework类库中就自带一个json字符串的处理类,里面包含 类与json字符串的相互转换函数,使用很方便
第3个回答  2012-10-11
查出来后用 php、asp 等脚本语言转换,例如 json_encode()
相似回答