JSON

来源:互联网 发布:部落冲突男王数据 编辑:程序博客网 时间:2024/06/18 05:58

【1】简介:

      在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式。
       为了更好的使用ajax,我们将学习一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地在应用程序中移动数据和对象。JSON是一种简单的数据交换格式,在某些方面,它的作用与XML非常类似,但比XML更为简单,JSON的语法简化了数据交换的难度,而且提供了一种伪对象的方式。
JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串(伪对象)
在异步应用程序中将字符串从 Web 客户端传递给服务器端程序
http://www.360doc.com/content/12/1108/18/6596696_246650000.shtml

 【2】JSON两种变量

  1. //创建一个对象
  2. function person() {
  3. var age = 19; // 局部变量
  4. this.name = "tom"; //成员变量
  5. this.show =function(){
  6. alert(age);
  7. }
  8. }
  9. var p = new person();
  10. document.write(p.name);
  11. document.write(p.age);
  12. alert(p.name);
  13. p.show();


【3】JSON创建对象方式

  1. // 创建person 对象
  2. var person ={name:"tom", age: 19};
  3. alert(person.name);


【4】Json对象转化成json文本字符串

  1. @Test
  2. public void fun() {
  3. Person person = new Person();
  4. person.setUsername("耿帅佳");
  5. person.setAge(21);
  6. person.setScore(99.99);
  7. List<String> list = new ArrayList<String>();
  8. list.add("宇宙无敌");
  9. list.add("天下无敌");
  10. list.add("世界无敌");
  11. list.add("我最无敌");
  12. person.setBieming(list);
  13. String json = JSONArray.fromObject(person).toString();
  14. System.out.println(json);
  15. }
注意文本字符串的特点 :

[ {   "属性":"值" , "属性":"值"  } ]

【5】转换java的List为json对象

  1. @Test
  2. public void fun1(){
  3. List<Object> obj = new ArrayList<Object>();
  4. Person person = new Person();
  5. person.setUsername("耿帅佳");
  6. person.setAge(21);
  7. person.setScore(99.99);
  8. List<String> list = new ArrayList<String>();
  9. list.add("宇宙无敌");
  10. list.add("天下无敌");
  11. list.add("世界无敌");
  12. list.add("我最无敌");
  13. person.setBieming(list);
  14. Person person1 = new Person();
  15. person1.setUsername("贾谭克");
  16. person1.setAge(21);
  17. person1.setScore(99.99);
  18. List<String> list1 = new ArrayList<String>();
  19. list1.add("宇宙无敌");
  20. list1.add("天下无敌");
  21. list1.add("世界无敌");
  22. list1.add("我最无敌");
  23. person1.setBieming(list);
  24. Person person2 = new Person();
  25. person2.setUsername("王玉龙");
  26. person2.setAge(21);
  27. person2.setScore(99.99);
  28. List<String> list2 = new ArrayList<String>();
  29. list2.add("宇宙无敌");
  30. list2.add("天下无敌");
  31. list2.add("世界无敌");
  32. list2.add("我最无敌");
  33. person2.setBieming(list);
  34. obj.add(person);
  35. obj.add(person1);
  36. obj.add(person2);
  37. String json = JSONArray.fromObject(obj).toString();
  38. System.out.println(json);
  39. }

解析成字符串的特点 :

[ {   "属性":"值" , "属性":"值"  } {   "属性":"值" , "属性":"值"  } ]


例子  :

将数据封装到 javabean 中,使用JSON 解析出来。
假设:数据是从数据库中取出的数据,List<Object>。

  1. @Test
  2. public void fun2(){
  3. List<Object> obj = new ArrayList<Object>();
  4. Person person = new Person();
  5. person.setUsername("耿帅佳");
  6. person.setAge(21);
  7. person.setScore(99.99);
  8. List<String> list = new ArrayList<String>();
  9. list.add("宇宙无敌");
  10. list.add("天下无敌");
  11. list.add("世界无敌");
  12. list.add("我最无敌");
  13. person.setBieming(list);
  14. Person person1 = new Person();
  15. person1.setUsername("贾谭克");
  16. person1.setAge(21);
  17. person1.setScore(99.99);
  18. List<String> list1 = new ArrayList<String>();
  19. list1.add("宇宙无敌");
  20. list1.add("天下无敌");
  21. list1.add("世界无敌");
  22. list1.add("我最无敌");
  23. person1.setBieming(list);
  24. Person person2 = new Person();
  25. person2.setUsername("王玉龙");
  26. person2.setAge(21);
  27. person2.setScore(99.99);
  28. List<String> list2 = new ArrayList<String>();
  29. list2.add("宇宙无敌");
  30. list2.add("天下无敌");
  31. list2.add("世界无敌");
  32. list2.add("我最无敌");
  33. person2.setBieming(list);
  34. obj.add(person);
  35. obj.add(person1);
  36. obj.add(person2);
  37. JsonConfig config = new JsonConfig();
  38. config.setExcludes(new String[]{"bieming","age"});
  39. String json = JSONArray.fromObject(obj,config).toString();
  40. System.out.println(json);
  41. }
注意:

【1】JSONConfig 的使用

在开发中,我们会对不需要的数据,进行删除。
就使用 JsonConfig  的 setExclides(String str) 这个方法来把不需要的参数去掉。 
// JsonConfig 设置不要的字段数据
JsonConfig config = new JsonConfig();
config.setExcludes(new String[]{"bieming","age"});
测试:
String json = JSONArray.fromObject(obj,config).toString();、
效果 :

我们把 bieming  和  age 去掉了,结果就只有  score  和 username,可以比较上面的结果

【2】实际开发中:针对不同的数据使用不同的JSON 对象

JavaBean 或 Map :JSONObject.fromObject(...).toString();List 或 Array:JSONArray.fromObject(...).toString(); 
1 0
原创粉丝点击