从数据库取出来的格式是 json我怎么把他们放到

mySql 表中字段是 add_level 值是{"1":10,"2":30,"3":40}
"1"代表是等级,10,代表的是人数,我怎么获取出来转换成JSONObject
x对应等级,y代表人数,

7个回答

先将从数据库里取出的值,转换为Array,用逗号split(","),之后,将Array里的Object,用 google里的一个gson,进行转换,代码:
import com.google.gson.GsonBuilder;

public class GsonUtil {
private static GsonBuilder build = new GsonBuilder();

public static void toJson(Object obj,HttpServletResponse resp){
    try {
        String out = build.create().toJson(obj);
        System.err.println("json=["+out+"]");
        resp.getWriter().println(out);
        //resp.flushBuffer();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
}
public static String toJson(Object obj){
    String out = build.create().toJson(obj);
    System.err.println("json=["+out+"]");
    return build.create().toJson(obj);
    //resp.flushBuffer();

}

}

输出的即为json格式的

String str=从数据库查出来的字符串;
JSONObject json=JSONObject.fromObject(str);
Iterator iterator=json.keySet().iterator();
while(iterator.hasNext()){
String key=iterator.next();
int x=Integer.parseInt(key);
int y=json.getInt(key);
}

使用的是jfinal

使用的是jfinal

这个很简单的,属于json的基本用法
String str = "{\"1\":10,\"2\":30,\"3\":40}";//明文字符串需要对引号进行转义
try {
JSONObject jsonObject = new JSONObject(str);
String num = jsonObject.getString("1");//获取1级人数
System.out.println(num);
String num2 = jsonObject.getString("2");//获取2级人数
System.out.println(num2);
String num3 = jsonObject.getString("3");//获取3级人数
System.out.println(num3);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
总体如上

java 中对象转JSONObject :JSONObject.fromObject(Str);或者JSONArrrayObject.fromObject(Str);

json串对象转一下就行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问