使用JSON文件读取数据

原创 2015年07月07日 09:51:32

定义

JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。

格式

JSON和 XML一样,也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。

如:

1  字符串   “abc”

2  整数       123

3  浮点数   -123.1

4 数组 -- json可以表示一个数组对象,使用 [] 包含所有元素,每个元素用逗号分隔

    ["abc",12345,false,null]

    [ { "city":"Beijing" },{ "street":" Chaoyang" },{ "postcode":100025 } ]

5 Object 对象在 JSON 中是用 {} 包含一系列无序的 Key-Value 键值对表示的

   {"city":"Beijing","street":" Chaoyang","postcode":100025}

   其中 Value 也可以是另一个 Object 或者数组,因此,复杂的 Object 可以嵌套表示

   {employee :  {  firstName: "John" lastName : "Doe", employeeNumber : 123,title : "Accountant"  }  

实现从.json文件中读取数据

1 在main/resources目录下编写PEData.json文件

2 简单的java代码

//getResourceAsStream方法首先搜索资源的父类加载器;如果父类加载器为 null,则搜索的路径就是虚拟机的内置类加载器的路径。如果搜索失败,则此方法将调用 findResource(String) 来查找资源。

//如:file:/D:/hty/htyWork/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/htybg/WEB-INF/classes/PEData.json

private static String JsonContext = ReadFile(PEData.class.getClassLoader().getResourceAsStream("PEData.json"));//读取JSON文件

private static JSONArray jsonArray = JSONArray.fromObject(JsonContext)//获取JSONArray 对象

Object test = jsonArray.getJSONObject(1).get(" **** ");//从JSONArray 中取出第二个对象,并取出变量 “ **** ”

Json与xml比较

JSON表示法在语法上要比XML要简洁的多,由于不需要使用关闭标签来呼应开始标签,因此许多多余的信息不再出现了,相对XML而言基本上不存在数据冗余,这在传输与响应速度上大在提高了。

另外,JSON丢弃了DOM解析了(客户端的JavaScript的XML DOM解析,服务器端的DOM、SAX、Dom4j、Jdom等)。

JSON与XML相比对JavaScript有着更好的通用性,一段JSON格式数据经过JavaScript一个简单的方法(eval)即可转换成 JavaScript对象供程序调用,转换方法是浏览器的JavaScript内部定义好的无需再手工编写。

而一段XML格式的数据需要调用浏览器内部的 XML解析器工具进行解析后才可以使用。而对于不同内核的浏览器(如IE、Netscape等)XML解析的方法是有差别的,因此需要针对不同浏览器内核做不同的方法封装,从而给客户端开发带来一定的复杂度。

相比之下JSON被浏览器解析的速度更快。在服务器端不同的语言也有不同的JSON解析器,可以很方便的解析客户端传过来的字符串,而不像为了读取XML还是借助于这样或那样的API工具。

Json与properties比较

properties文件顾名思义,属性文件,从它的名称中直观的理解就是,它应该是可以表示某些属性,可以在它里面定义一些字段,这将不需要我们在代码中书写,这就可以将这些信息从代码中分离出来了

如:

jdbc.driver=org.gjt.mm.mysql.Driver

jdbc.url=jdbc:mysql://localhost:3306/hty?characterEncoding=utf-8

jdbc.username=root

JSON适合数据传输,properties适合做简单的属性配置,复杂的数据格式要用json定义

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Json.NET读写Json文件(转)

Json文件的写入读取 采用的Json.NET提供的API。 http://james.newtonking.com/projects/json-net.aspx http://www....

实现读取本地json格式文件并解析

实现读取本地json格式文件并解析
  • Farry_X
  • Farry_X
  • 2016年08月03日 16:46
  • 1853

jackson 读取或载入磁盘上的 json 格式文件

数据以 json 格式存储在文件中,用 jackson 的 ObjectMapper 对象载入,存于 JsonNode 中即可进行读取或者存取操作,java 代码如下: import java.i...
  • joyous
  • joyous
  • 2016年01月17日 16:08
  • 3614

json读取和写入数据

一、从字符串中读取JSON a.cpp ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...

Java读取json文件并对json数据进行读取、添加、删除与修改操作

1.介绍 开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添...
  • Qing_yun
  • Qing_yun
  • 2015年07月13日 17:56
  • 24719

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Java读取maven resource下文件

Java读取resource下面的文件,正常maven项目 src\resources\xx.json这种结构,如果要读取这个json文件,可以通过java.lang.Class.getResour...

Json文件 使用rapidjson获取Json数据

在游戏中使用Json来储存数据配置文件,既方便读取,有方便管理。 一.使用cocostudio生成Json文件 1.先在Excel中编辑好数据 最后一个“可穿透”属性,本来应该...

使用JSON格式传递数据,获取JSON的值

项目中,接口之间传递数据是经常的,不管是项目内部接口传递数据,还是与外部系统之间接口传递数据,通过json都会较为容易一些,至于什么是json,自己goodle,百度吧。在html中,使用ajax请求...

如何读取一个本地Json文件并查询该文件展示其内容

我前一段时间在我的博客里写了一篇文章“如何在QML应用中读写文件”,那篇文章是介绍如何使用C++来读取文件的。那种方法是一个比较通用的方法。但是对于有些应用来说,我们可以通过配置JSON来创建我们的U...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用JSON文件读取数据
举报原因:
原因补充:

(最多只允许输入30个字)