使用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定义

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

java读取json文件的数据

// 读取json String filepat = "/static/mobile/config.json"; String filepath = request.getRealPath(fil...
  • doglovely
  • doglovely
  • 2017年07月27日 18:22
  • 698

js读取json文件中的json数据

json文件: [ { "id": "001", "name": "昂昂溪" }, { "id": "002", "name": "安北" }, { "id": "0...
  • qq_36371218
  • qq_36371218
  • 2017年07月25日 13:49
  • 6469

json教程从入门到使用

json教程从入门到使用 一:入门 简介: JSON(JavaScriptObject Notation)、轻量级数据交换格式、非常适合于服务器与 JavaScript 的交互。 JSON两种格式: ...
  • chenghuaying
  • chenghuaying
  • 2013年10月25日 10:20
  • 15892

java——读取JSON文件

前几天胡思乱想一下: 我们拿到 JSON 文件,若想通过 java 读取其中的数据,该怎么做呢? 就搜索些视频、博客看了一下,这里整理一番。读前需要了解 java-IO 基础知识 java-Fil...
  • ALemon_Y
  • ALemon_Y
  • 2017年05月08日 21:38
  • 4193

json读取和写入数据

一、从字符串中读取JSON a.cpp ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...
  • s346658910
  • s346658910
  • 2014年09月10日 11:26
  • 4202

[转]JSON变量值的巧妙传入方式

原文地址:http://www.ajaxbbs.net/blog/read.php?177这曾经是一个困扰我很久的问题,如果我们想把JSON的某个值设定为某个变量该怎么设置呢?如:var json={...
  • weq221
  • weq221
  • 2008年02月13日 15:36
  • 6807

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

我前一段时间在我的博客里写了一篇文章“如何在QML应用中读写文件”,那篇文章是介绍如何使用C++来读取文件的。那种方法是一个比较通用的方法。但是对于有些应用来说,我们可以通过配置JSON来创建我们的U...
  • UbuntuTouch
  • UbuntuTouch
  • 2015年05月13日 14:08
  • 2817

JavaScript读取本地json文件

今天调试了一上午,通过jQuery读取本地json文件总是失败,始终找不出原因,各种方法都试了 开始总以为是不是json格式的问题。高了半天不行 后来读了一个blog发现用的,json.txt文件...
  • dusea
  • dusea
  • 2015年09月15日 11:16
  • 26394

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

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

读取本地JSON文件并显示

 程序功能:读取本地JSON文件,并显示到LsitView上,下面详细介绍: [ 2 { 3 "operator":"admin1", 4 "loginD...
  • Plantago
  • Plantago
  • 2016年07月14日 10:50
  • 1231
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用JSON文件读取数据
举报原因:
原因补充:

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