我们在项目开发过程中经常会使用到JSONObject,实际在运用中我们发现JSONObject有两大来源com.alibaba.fastjson.JSONObject 和
net.sf.json.JSONObject。今天来梳理下,防止混淆。
com.alibaba.fastjson.JSONObject
String string = "{\"name\":\"a\",\"age\":10}";
JSONObject jsonObject = new JSONObject();
Person person = null;
import lombok.Data;
@Data
public class Person {
private String name;
private Integer age;
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public Person() {
}
}
1、jsonString --> jsonObject
jsonObject = JSONObject.parseObject(string);
2、jsonString --> javaBean
person = JSONObject.parseObject(string, Person.class);
3、jsonString --> jsonArray
String stringArray = "[{\"name\":\"a\",\"age\":10},{\"name\":\"b\",\"age\":11}]";
JSONArray jsonArray = JSONObject.parseArray(stringArray);
4、jsonObject --> javaBean
person = JSONObject.toJavaObject(jsonObject, Person.class);
5、jsonObject --> jsonString
string = jsonObject.toJSONString();
6、javaBean --> jsonString
string = JSONObject.toJSONString(person);
7、javaBean --> jsonObject
jsonObject = (JSONObject) JSONObject.toJSON(person);
net.sf.json.JSONObject
1、jsonString --> jsonObject
String str = "{\"a\":\"1\",\"b\":\"2\"}";
JSONObject jsonObject1 = JSONObject.fromObject(str);
2、jsonString --> javaBean
先转成jsonObject再转成javaBean
3、jsonString --> jsonArray
String string1 = "[{\"name\":\"a\",\"age\":10},{\"name\":\"b\",\"age\":20}]";
JSONArray jsonArray = JSONArray.fromObject(string1);
4、jsonObject --> jsonString
JSONObject jsonObject = new JSONObject();
jsonObject.put("name","a");
jsonObject.put("age","10");
String jsonStr = jsonObject.toString();
5、jsonObject --> javaBean
Person person = (Person) JSONObject.toBean(jsonObject, Person.class);
6、javaBean --> jsonObject
Person person1 = new Person();
person1.setName("aa");
person1.setAge(12);
JSONObject jsonObject2 = JSONObject.fromObject(person1);
7、javaBean --> String
先将javaBean转成jsonObject再转成String
8、jsonArray --> javaBeanList
List<Person> personList = (List)JSONArray.toCollection(jsonArray, Person.class);
9、javaBeanList --> jsonArray
JSONArray jsonArray1 = JSONArray.fromObject(personList);
10、jsonArray --> jsonString
String string2 = jsonArray1.toString();