以下均利用Gson来处理:
1.将bean转换成Json字符串:
1
2
3
|
public
static
String beanToJSONString(Object bean) {
return
new
Gson().toJson(bean);
}
|
2.将Json字符串转换成对象:
1
2
3
4
5
|
public
static
Object JSONToObject(String json,Class beanClass) {
Gson gson =
new
Gson();
Object res = gson.fromJson(json, beanClass);
return
res;
}
|
注:转换后的对象使用前进行强转:例如bean bean1 = (bean)FormatUtil.JSONToObject(json, bean.class);
3.将Json字符串转换成JsonObject对象:
1
|
JsonObject returnData =
new
JsonParser().parse(jsonstr).getAsJsonObject();
|
4.将JsonArray类型的Json字符串解析成对象方法:
1
2
3
4
5
6
7
8
9
10
|
Gson gson =
new
Gson();
JsonParser parser =
new
JsonParser();
JsonArray Jarray = parser.parse(jstring).getAsJsonArray();
ArrayList<channelSearchEnum> lcs =
new
ArrayList<channelSearchEnum>();
for
(JsonElement obj : Jarray ){
channelSearchEnum cse = gson.fromJson( obj , channelSearchEnum.
class
);
lcs.add(cse);
}
|
或者
1
2
|
String json =
"[{\"username\":\"test\"},{\"username\":\"test2\"}]"
;
System.out.println(
new
JsonParser().parse(json).getAsJsonArray().get(
0
).getAsJsonObject().get(
"username"
).getAsString());
|
5.获取JsonObject中指定key值对应的JsonArray对象:
1
2
|
String json=
"{\"pids\":[\"1\",\"2\",\"3\"]}"
;
System.out.println(
new
JsonParser().parse(json).getAsJsonObject().getAsJsonArray(
"pids"
).get(
0
).getAsString());
|
via:http://blog.csdn.net/ling125521/article/details/37773501