JSON中存储的是key:value,其实在编程的时候我们会遇到很多都是key:value的形式。比如:map,java对象(一个对象的一个属性只会有一个值),数据库中key:value对应着里面存储的一个数据,redis的本质就是key:value。所以你会发现key:value很有用。

1.将任何形式的内容转换成key:value形式的字符串(观察输出),比如json文件。

  1. {
  2. "name": "Tom",
  3. "age" : 12,
  4. "book":{"1":"Math","2":"Chinese","3":"English"},
  5. "interest" : ["football","basketball"],
  6. "student" : {"name" :"Tom","age":22,"book":"String"}
  7.  
  8. }

到网上搜一下,有很多人都写了将.json文件转换成字符串的方式,再转换成JSONObject。目前只找到GSON,直接输入json文件的位置,直接输出一个类似于JSONObject的东西(还没仔细研究),其他的方法还没有找到。

2.将string转换成JSONObject。

  1. package json;
  2.  
  3. import java.awt.List;
  4. import java.util.ArrayList;
  5.  
  6. import com.alibaba.fastjson.JSON;
  7. import com.alibaba.fastjson.JSONArray;
  8. import com.alibaba.fastjson.JSONObject;
  9.  
  10. public class TestJson {
  11.  
  12. public static void main(String[] args) {
  13. //将JSON文件读取成字符串形式,目前还没有找到哪个好的方法直接转,网上都可以搜到。
  14. //GSON可以直接装,但是GSON的包跟这里的包又不一样
  15.  
  16. Util fr = new Util();
  17. String str = fr.ReadFile("src/json1.json");
  18. //看看把json文件读取成字符串的形式。
  19. System.out.println(str.toString());
  20.  
  21. //将字符串转换成JSONObject。通过JSONObject可以获取任何东西。
  22. //还可以遍历
  23. JSONObject student1 = JSON.parseObject(str);
  24.  
  25. String name = (String) student1.get("name");
  26. //获取的是字符串。
  27. String book = student1.getString("book");
  28. //可以将string变成JSONObject
  29. JSONObject bookJson = JSON.parseObject(book);
  30.  
  31. System.out.println(book);
  32. //这里获取的是JSONObject
  33. JSONObject bookObj = student1.getJSONObject("book");
  34. String b1 = bookObj.getString("1");
  35. String b2 = bookObj.getString("2");
  36. String b3 = bookObj.getString("3");
  37. System.out.println(b1+","+b2+","+b3);
  38.  
  39. String interest = student1.getString("interest");
  40.  
  41. JSONArray interestArr = student1.getJSONArray("interest");
  42. String arr1 = interestArr.getString(0);
  43. String arr2 = interestArr.getString(1);
  44. System.out.println(arr1+","+arr2);
  45. //通过映射的方式。直接获得。
  46. JSONArray inArr = student1.getObject("interest", JSONArray.class);
  47.  
  48. //如果value值是一个对象,可以直接映射成一个对象。
  49. Student stu = student1.getObject("student", Student.class);
  50.  
  51. System.out.println(name);
  52.  
  53. System.out.println(interest);
  54. System.out.println(stu.toString());
  55.  
  56. }
  57.  
  58. }
  1. package json;
  2.  
  3. import java.util.List;
  4.  
  5. public class Student {
  6.  
  7. public Student() {
  8.  
  9. }
  10. public Student(String name, Integer age, String book) {
  11. this.name = name;
  12. this.age = age;
  13. this.book = book;
  14.  
  15. }
  16.  
  17. public String getName() {
  18. return name;
  19. }
  20. public void setName(String name) {
  21. this.name = name;
  22. }
  23. public Integer getAge() {
  24. return age;
  25. }
  26. public void setAge(Integer age) {
  27. this.age = age;
  28. }
  29. public String getBook() {
  30. return book;
  31. }
  32. public void setBook(String book) {
  33. this.book = book;
  34. }
  35. private String name;
  36. private Integer age;
  37. private String book;
  38.  
  39. @Override
  40. public String toString() {
  41. return "Student [name=" + name + ", age=" + age + ", book=" + book
  42. + "]";
  43. }
  44.  
  45. }

问题:如果对象Student中包含有List<String> interest,怎么映射呢?对应的json中value是什么样式呢?如果您有相关的地址欢迎留言学习。

JSON的使用小结的更多相关文章

  1. json与jsonp小结

    json 1. json 的值可以是下面这些类型: ① 数字(整数或浮点数),比如123,1.23 ② 字符串(在双引号中) ③ 逻辑值(true 或 false) ④ 数组(在方括号中) ⑤ 对象( ...

  2. js学习-自定义函数、对象的字面量、json对象学习小结

    一.自定义对象的构造: var student=new Object(); //object是顶级对象,使用构造函数的方法创建一个对象,此处的意思是创建了一个学生的空对象 student.name=& ...

  3. combobox远程加载数据的总结和Json数据的小结

    1.从后台返回请求加载Combobox下拉框数据 html部分1 <select name="mateBelongZ" id="mateBelongZID" ...

  4. C#解析Json格式数据小结

    最近,遇到了一些不同的Json格式的数据,需要做不同处理才能转化为想要得到的结果,这里总结一下. 第一种形式:status中是{}形式,对象 string json = @"{'name': ...

  5. python爬微信公众号前10篇历史文章(5)-JSON相关内容小结

    json - JSON encoder and decoder JSON: JavaScript object notation,是一种轻量级的数据交换格式.JSON 是 JS 对象的字符串表示法,它 ...

  6. JSON的一些小结

    一.js中 1.json字符串转json对象 var json = $.parseJSON(" {'1':'hello'},{'2':'word'} "); for(var i i ...

  7. C# 中对于json的解析小结

    1.解析之前的json格式 [{ "Name": "冯111", "PID": "130627199202283306" ...

  8. java post请求的表单提交和json提交简单小结

    在java实现http请求时有分为多种参数的传递方式,以下给出通过form表单提交和json提交的参数传递方式: public String POST_FORM(String url, Map< ...

  9. 关于json对象的使用小结!

    json是前后端数据交互的关键.后端提供的接口中的数据几乎都是通过json来表现的,所以,需要对这个json做一些小结: 这里要推进谷歌的插件Fehelp前端助手,这个可以清楚的看到json的数据: ...

随机推荐

  1. vue.js如何在标签属性中插入变量参数

    html的标签的属性,比如id.class.href需要动态传递参数,拼接字符串,查了一些资料,并没有找到合适的解决方法,琢磨了一上午,终于试出了方法: v-bind:属性=" '字符串'+ ...

  2. 设计模式(四)—观察者模式

    一.概述      观察者模式类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你.其实,简单来讲就一句话:当 ...

  3. MyEclipse常见错误

    1.Could not create the view: An unexpected exception was thrown java.lang.NullPointerException     a ...

  4. 为部署ASP.NET Core准备:使用Hyper-V安装Ubuntu Server 16.10

    概述 Hyper-V是微软的一款虚拟化产品,和VMWare一样采用的hypervisor技术.它已经被内嵌到Win10系统内,我们只需要进行简单的安装即可.但是前提是要确保你的机器已经启用虚拟化,可以 ...

  5. Apache+mod_encoding解决URL中文编码问题

    我们经常在论坛上看到这样的求救贴:  为什么我看不了网站上中文文件名的文件?这时一定会有好心的大侠告诉说,到IE6的工具,Internet选项, 高级里,把"总是以UTF-8发送URL&qu ...

  6. 论.net平台的切身感触(惑)

    这篇博客只是作者客观看法,不喜勿喷,条条大路通罗马,路不同风景也不一样,接下来的路该怎么走? 简介:作者.net程序员一枚,工作已有四年,接触过.net平台winform,webform,mvc的开发 ...

  7. Android sdk配置 常见问题及处理方法

    1. 下载sdk压缩包,解压后显示 2.双击SDK Manager.exe 程序进入如下界面 注:有的童鞋可能遇到如下问题 一般将一和二两种操作都完成就OK了 一. 更新sdk,遇到了更新下载失败问题 ...

  8. Linux的NFS配置

    1.NFS简介 (1)什么是NFS? 1)NFS是Net File System的简写,即网络文件系统.NFS是由SUN公司开发,并于1984年推出的一个RPC(远程过程调用)服务系统,它使我们能够达 ...

  9. html基础认识,高手别看

    HTML5是一种用于在万维网上构建和呈现内容的符号言语.它是HTML规范的第五和当时版别.它是由万维网联盟(W3C)在十月发布的2014 [ 2 ] [ 4 ]和最新的多媒体支持进步言语,一起坚持它简 ...

  10. focus、blur事件的事件委托处理(兼容各个流浏览器)

    今天工作中遇到个问题,问题是这样的,一个form表单中有比较多的input标签,因为form中的input标签中的值都需要前端做客户端校验,由于本人比较懒而且特不喜欢用循环给 每个input元素添加b ...