mySql 表中字段是 add_level 值是{"1":10,"2":30,"3":40}
"1"代表是等级,10,代表的是人数,我怎么获取出来转换成JSONObject
x对应等级,y代表人数,
先将从数据库里取出的值,转换为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串对象转一下就行