以前看过书上说,XML是web service间传输信息的标准格式吧,就看了看XML。最近在做个网站,又说是有了JSON,第一回听说就看了看,总结总结一下。

1.JSON介绍

JSON比XML简单,主要体现在传输相同信息的情况下,文件的大小不同。

JSON只用于传输信息,XML还可以用于配置文件的使用。

JSON中的符号主要有: " , [ {:

2.JSON中的数组和对象

2.1数组(JSONArray)

数组用一对[],表示存放的是一般的数组数据。

如:["11","22","33"],表示这是一个JSONArray数组,里面有3个数据:”11“,”22“,”33“。当然可以是复杂的数据,就是所谓的嵌套定义吧。

2.对象(JSONObject)

对象用一对{},来表示其中JSON通用的”键-值“对。

如:{"sex1":"female","name0":"zhangsan"},表示的是一个JSON对象,里面有两组数据(键值对),sex1=female,name0=zhangsan。当然这里键对应的数据值,可以是复杂的JSON对象或者数组。

3.代码示例

3.1基本的JSONArray与JSONObject操作

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class ObjectAndArray1 {

public static void main(String args[])

{

JSONObject jsonObj = new JSONObject();

jsonObj.put("name0", "zhangsan");

jsonObj.put("sex1", "female");

System.out.println(jsonObj); //输出为:{"sex1":"female","name0":"zhangsan"}

JSONArray jsonArray = new JSONArray();

jsonArray.add("11");

jsonArray.add("22");

jsonArray.add("33");

System.out.println(jsonArray); //输出为:["11","22","33"]

}

}

3.2由java自带的数据结构转换为JSON文本

import java.util.HashMap;

import java.util.Map;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class ObjectAndArray2{

public static void main(String args[])

{

//可以由数组,列表等生成JSONArray

String list[]={"11","22"};

JSONArray jsonarray = JSONArray.fromObject(list);

jsonarray.add("33");

System.out.println(jsonarray); //输出为:["11","22","33"]

//可以由Map生成JSONObject

Map map=new HashMap();

map.put("NO1", "第一个");

map.put("NO2", "第二个");

map.put("NO3", jsonarray);

JSONObject jsonObj = JSONObject.fromObject(map);

System.out.println(jsonObj); //输出为:{"NO3":["11","22","33"],"NO2":"第二个","NO1":"第一个"}

}

}

3.3读取JSON文本

JSONArray必须用下标读取内部数据。

JSONObject必须用”键“读取对应的”值“。

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class ObjectAndArray {

public static void main(String args[])

{

JSONArray jsonarray;

JSONObject jsonObj;

//读取JSONArray,用下标索引获取

String array="[\"11\",\"22\",\"33\"]";

jsonarray = JSONArray.fromObject(array);

System.out.println(jsonarray.getString(1)); //输出为:22

//读取JSONObject

String object="{\"NO1\":[\"44\",\"55\",\"66\"],\"NO2\":{\"NO1\":\"第一个\"}}";

jsonObj = JSONObject.fromObject(object);

System.out.println(jsonObj.get("NO1")); //输出为:["44","55","66"]

jsonarray = (JSONArray)(jsonObj.get("NO1"));

System.out.println(jsonarray.getString(1)); //输出为:55

//用"键"获取值

jsonObj=(JSONObject)jsonObj.get("NO2");

System.out.println(jsonObj); //输出为:{"NO1":"第一个"}

}

}

java用函数读取json_Java解析(读取)Json相关推荐

  1. java 复杂json_Java解析复杂json

    假设有如下的json: String returnResult=[{"ip":"1.28.145.70","res":["{\&q ...

  2. java fastjson vector转为json_java对象与Json字符串之间的转化(fastjson)

    public class test { public static void main(string[] args) { // 实现java对象与json字符串之间的转化 // 1. person对象 ...

  3. java 判断是否是json_java判断是否json格式

    java判断是否json格式 JsonObject和JsonArray对象都没有能快速判断json格式合法性的方法,只好使用捕获异常的方式判断json合法性. 代码如下:/** * 判断是JsonOb ...

  4. GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换

    GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...

  5. java中,通过FastJson对海量数据的Json文件,边读取边解析

    当读取json文件的时候,如果json文件巨大,比如json文件中有900万条数据,大小有300多M,就不可以一次把数据都读到内存再解析. 第一内存受不了,第二CPU更受不了,所有的硬件和软件都受不了 ...

  6. 如何用java读取并解析geojson文件

    工具:json.simple.wowtools json.simple用于读取json文件,wowtools自动适配地解析geojson格式. 1.引入依赖 代码如下(示例): <depende ...

  7. php 读取 js json格式数据,js读取和解析JSON数据的方法

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  8. 【Unity3D读取数据】(二)Json文件操作(创建、读取、解析、修改)

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  9. es elasticsearch 几种常见查询场景 二次分组 java读取es的查询json文件

    大家好,我是烤鸭: es中几种常见的查询场景,使用java读取es的json文件进行查询. es 中文使用手册. https://www.elastic.co/guide/cn/elasticsear ...

最新文章

  1. 【转】python 和 cx_Oracle 的使用
  2. Maven下载安装与配置环境变量与配置本地仓库
  3. [HAOI2007]上升序列
  4. 分享一些优化博客的心得
  5. js获取屏幕宽高和下拉加载更多
  6. ssm整合 durid数据源 报错java.sql.SQLException: Access denied for user ‘xxx‘@‘localhost‘
  7. Lua基础(字符处理)
  8. corntab定时执行任务
  9. 第4章 更新Erlang.mk
  10. java 查看jar 版本信息_Jar包版本查看方法
  11. 博弈论——取石子问题
  12. WPS Excel将多个Excel文件合并到一个Excel文件中(sheet)
  13. 人工智能再突破:中国MR来了!
  14. Python爬取网易云音乐热歌榜(爬虫)
  15. 多传感器融合track fusion
  16. R:CSV读取问题Error in read.table(file = file, header = header, sep = sep, quote = quote, : 列的数目比列的名字要多
  17. 某宝 小黑屋 x-sg?xt x-si?n x-m?ni-w?a 分析学习
  18. [VB程序设计创新实验教程]Chap1---VB中游戏基本要素的实现方式[1]
  19. 160429 vue.js 2 台灣小凡(体验 vuejs 2之随笔)
  20. 我炸了!前有4个月造抖音,现有3天造百度!!!

热门文章

  1. 【3月30日直播】新冠病毒全基因组测序——Midnight试剂盒及整体解决方案
  2. QIIME 2用户文档. 11元数据Metadata(2019.7)
  3. QIIME 2用户文档. 3老司机上路指南(2019.7)
  4. Current Biology | 以退为进——白逢彦组揭示酿酒酵母通过基因网络的逆向进化适应环境的新机制...
  5. pandas使用groupby.first函数、groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异)
  6. 使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件、清除缓存文件、解救C盘、拒绝C盘爆炸
  7. R语言explore包进行探索性数据分析实战(EDA、exploratory data analysis):基于iris数据集
  8. Kinesis、Streams and Firehose
  9. sklearn使用FeatureHasher处理字符串特征
  10. python趋势稳定检验Kwiatkowski-Phillips-Schmidt-Shin