- /**
- * 生成json
- * */
- public String createJson() {
- // TODO Auto-generated method stub
- try {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("id", "1");
- jsonObject.put("name", "李磊");
- jsonObject.put("age", "30");
- return jsonObject.toString();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return "";
- }
- /**
- * 生成json
- * */
- public String createJson() {
- // TODO Auto-generated method stub
- List<Person> persons = getTestValues();
- try {
- JSONObject jsonObject = new JSONObject();
- JSONArray array = new JSONArray();
- for (int i = 0; i < persons.size(); i++) {
- JSONObject person = new JSONObject();
- Person p = persons.get(i);
- person.put("id", p.getId());
- person.put("name", p.getName());
- person.put("age", p.getAge());
- array.put(person);
- }
- jsonObject.put("persons", array);
- System.out.println(jsonObject.toString());
- return jsonObject.toString();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return "";
- }
1.创建最外层的{}对象jsonObject 2.创建数组对象 用来保存两个人的信息 3.在循环内创建jsonObject对象 用来保存每个人的信息,别忘了添加完属性之后 将对象添加到数组 4.将数组添加到最外层对象 |
- /**
- * 生成json
- * */
- public String createJson() {
- // TODO Auto-generated method stub
- JSONStringer jsonStringer = new JSONStringer();
- try {
- jsonStringer.object();
- jsonStringer.key("id").value("1");
- jsonStringer.key("name").value("李磊");
- jsonStringer.key("age").value("30");
- jsonStringer.endObject();
- System.out.println(jsonStringer.toString());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return jsonStringer.toString();
- }
1. 首先 新建JSONStringer对象 2. 调用object()方法 说明开始创建 添加了头{(当然,要和endobject成对出现) 3. 添加一个属性 通过key("name") 添加了属性了名称 通过value("value") 添加了属性的值 4. 添加完所有内容之后,调用endobject()方法通知json创建完毕 |
- /**
- * 生成json
- * */
- public String createJson() {
- // TODO Auto-generated method stub
- List<Person> persons = getTestValues();
- JSONStringer jsonStringer = new JSONStringer();
- try {
- jsonStringer.object();
- jsonStringer.key("persons");
- jsonStringer.array();
- for (int i = 0; i < persons.size(); i++) {
- Person person = persons.get(i);
- jsonStringer.object();
- jsonStringer.key("id").value(person.getId());
- jsonStringer.key("name").value(person.getName());
- jsonStringer.key("age").value(person.getAge());
- jsonStringer.endObject();
- }
- jsonStringer.endArray();
- jsonStringer.endObject();
- System.out.println(jsonStringer.toString());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return jsonStringer.toString();
- }
1.创建一个新的JSONStringer对象 用来存储生成的json数据 2.首先调用key("persons") 添加数组的key值 3.调用array()通知系统 接下来的是一个数组 (和endarray()一起出现) 4.在循环内部通过object()方法 创建一对{} 然后将属性添加到大括号内 |
- /**
- * 解析json
- * */
- public Person parserJson() {
- // TODO Auto-generated method stub
- String json = "{\"id\":\"1\",\"name\":\"李磊\",\"age\":\"30\"}";
- Person person = new Person();
- try {
- JSONTokener jsonTokener = new JSONTokener(json);
- // 此时还未读取任何json文本,直接读取就是一个JSONObject对象。
- // 如果此时的读取位置在"name" : 了,那么nextValue就是"李磊"(String)
- JSONObject jsonObject = (JSONObject) jsonTokener.nextValue();
- person.setId(jsonObject.getString("id"));
- person.setName(jsonObject.getString("name"));
- person.setAge(jsonObject.getString("age"));
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return person;
- }
1.将json字符串转换为jsonTokener对象 2.调用jsonTokener的nextValue()方法 将json数据转换为jsonObject对象 3.通过getString(keyname)获取需要的值 |
- public List<Person> parserJson() {
- // TODO Auto-generated method stub
- String json = "{\"persons\":[{\"id\":\"1\",\"name\":\"李磊\",\"age\":\"30\"},{\"id\":\"2\",\"name\":\"韩梅梅\",\"age\":\"25\"}]}";
- List<Person> persons = new ArrayList<Person>();
- try {
- JSONTokener jsonTokener = new JSONTokener(json);
- // 此时还未读取任何json文本,直接读取就是一个JSONObject对象。
- // 如果此时的读取位置在"name" : 了,那么nextValue就是"李磊"(String)
- JSONObject jsonObject = (JSONObject) jsonTokener.nextValue();
- JSONArray array = jsonObject.getJSONArray("persons");
- for (int i = 0; i < array.length(); i++) {
- JSONObject object = array.getJSONObject(i);
- Person person = new Person();
- person.setId(object.getString("id"));
- person.setName(object.getString("name"));
- person.setAge(object.getString("age"));
- persons.add(person);
- }
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return persons;
- }
1.创建一个list 用来存储解析的信息 2.将json字符串转换为jsonTokener对象,再转换为jsonObject对象 3.通过getJSONArray("persons")获取json数组 4.通过循环来解析json数组,解析的内容不解释,上面已经说过 |