用JSONObject这个类库
用谷歌给我们提供的Gson
使用方式:
JSONObject
json=
new
JSONObject(json);
json.getString(key);
Object
obj
=
new
Gson().fromJson(json,Object.class);
将这个object替换成你的javaBean
② JSONObject获取值后为一个对象,将对象转为JSONObject时报错
将json字符串转化成JavaBean对象
Person person = new Person("1","gson",1);
Gson gson = new Gson();
//这里将javabean转化成json字符串
String jsonString = gson.toJson(person);
System.out.println(jsonString);
//这里将json字符串转化成javabean对象,
person = gson.fromJson(jsonString,Person.class);
将json字符串转化成List<JavaBean>对象
Person person1 = new Person("1","gson1",1);
Person person2 = new Person("2","gson2",2);
List<Person> persons = new ArrayList<Person>();
persons.add(person1);
persons.add(person2);
Gson gson = new Gson();
//这里将lsit<javabean>转化成json字符串
String jsonString = gson.toJson(persons);
//解析json字符串
List<Person> persons2 = gson.fromJson(jsonString, new TypeToken<List<Person>>(){}.getType());
将json字符串转化成List<String>对象
List<String> list = new ArrayList<String>();
list.add("gson1");
list.add("gson2");
list.add("gson3");
Gson gson = new Gson();
String jsonString = gson.toJson(list);
System.out.println("json字符串:"+jsonString);
//解析json字符串
List<String> list2 = gson.fromJson(jsonString, new TypeToken<List<String>>(){}.getType());
将json字符串转化成List<Map<String,Object>>对象
Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "value1");
map.put("key2", "value2");
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("key1", 1);
map2.put("key2", 2);
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
list.add(map);
list.add(map2);
Gson gson = new Gson();
String jsonString = gson.toJson(list);
System.out.println("json字符串:"+jsonString);
//解析json字符串
List<Map<String,Object>> list2 = gson.fromJson(jsonString, new TypeToken<List<Map<String,Object>>>(){}.getType());
③ 如何将json格式转换为数组
java中把来json怎么转换成数组的方法:
1、使用自原生的解析:String json = "...";JSONArray array= new JSONArray(json);//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:for (int j = 0; j < array.length(); j++) {obj = array.getJSONObject(j);Data data = new Data();data.setThumbnail(obj.getString("thumbnail"));data.setTitle(obj.getString("title"));data.setUrl(obj.getString("url"));mDataList.add(data);}2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z
④ list<model>类型转换为json格式的,在线等大神的帮忙
public class TestJson {
public static void main(String[] args) {
JavaBeanAndJson();
// ListJavaBeanAndJson();
// JsonAndString();
// JsonAndListString();
// JsonAndListMapString();
}
/**
* 将json字符串转化成<Map<String,Object>>对象
*/
private static void JsonAndListMapString() {
System.out.println("将json字符串转化成List<Map<String,Object>>对象");
Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "value1");
map.put("key2", "value2");
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("key1", 1);
map2.put("key2", 2);
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
list.add(map);
list.add(map2);
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
// 解析json字符串
List<Map<String,Object>> list2 = JSON.parseObject(jsonString, new TypeToken<List<Map<String,Object>>>(){}.getType());
}
/**
* 将json字符串转化成List<String>对象
*/
private static void JsonAndListString() {
System.out.println("将json字符串转化成List<String>对象");
List<String> list = new ArrayList<String>();
list.add("gson1");
list.add("gson2");
list.add("gson3");
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
// 解析json字符串
List<String> list2 = JSON.parseObject(jsonString, new TypeToken<List<String>>(){}.getType());
}
/**
* 将json字符串转化成List<String>对象
*/
private static void JsonAndString() {
System.out.println("将json字符串转化成List<String>对象");
List<String> list = new ArrayList<String>();
list.add("gson1");
list.add("gson2");
list.add("gson3");
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
// 解析json字符串
List<String> list2 = JSON.parseObject(jsonString, new TypeToken<List<String>>(){}.getType());
}
/**
* 将json字符串转化成List<JavaBean>对象
*/
private static void ListJavaBeanAndJson() {
System.out.println("将json字符串转化成List<JavaBean>对象");
Person person1 = new Person("1","gson1",1);
Person person2 = new Person("2","gson2",2);
List<Person> lstPersons = new ArrayList<Person>();
lstPersons.add(person1);
lstPersons.add(person2);
// 这里将lsit<javabean>转化成json字符串
String jsonString = JSON.toJSONString(lstPersons);
System.out.println(jsonString);
// 解析json字符串
List<Person> lstPersons2 = JSON.parseObject(jsonString, new TypeToken<List<Person>>(){}.getType());
}
/**
* 将json字符串转化成JavaBean对象
*/
private static void JavaBeanAndJson() {
System.out.println("将json字符串转化成JavaBean对象");
Person person = new Person("1","fastjson",1);
// 这里将javabean转化成json字符串
String jsonString = JSON.toJSONString(person);
System.out.println(jsonString);
// 这里将json字符串转化成javabean对象,
Person person2 = JSON.parseObject(jsonString,Person.class);
System.out.println(person2);
}
}