java用函数读取json_Java解析(读取)Json
以前看过书上说,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相关推荐
- java 复杂json_Java解析复杂json
假设有如下的json: String returnResult=[{"ip":"1.28.145.70","res":["{\&q ...
- java fastjson vector转为json_java对象与Json字符串之间的转化(fastjson)
public class test { public static void main(string[] args) { // 实现java对象与json字符串之间的转化 // 1. person对象 ...
- java 判断是否是json_java判断是否json格式
java判断是否json格式 JsonObject和JsonArray对象都没有能快速判断json格式合法性的方法,只好使用捕获异常的方式判断json合法性. 代码如下:/** * 判断是JsonOb ...
- GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换
GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...
- java中,通过FastJson对海量数据的Json文件,边读取边解析
当读取json文件的时候,如果json文件巨大,比如json文件中有900万条数据,大小有300多M,就不可以一次把数据都读到内存再解析. 第一内存受不了,第二CPU更受不了,所有的硬件和软件都受不了 ...
- 如何用java读取并解析geojson文件
工具:json.simple.wowtools json.simple用于读取json文件,wowtools自动适配地解析geojson格式. 1.引入依赖 代码如下(示例): <depende ...
- php 读取 js json格式数据,js读取和解析JSON数据的方法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- 【Unity3D读取数据】(二)Json文件操作(创建、读取、解析、修改)
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...
- es elasticsearch 几种常见查询场景 二次分组 java读取es的查询json文件
大家好,我是烤鸭: es中几种常见的查询场景,使用java读取es的json文件进行查询. es 中文使用手册. https://www.elastic.co/guide/cn/elasticsear ...
最新文章
- 【转】python 和 cx_Oracle 的使用
- Maven下载安装与配置环境变量与配置本地仓库
- [HAOI2007]上升序列
- 分享一些优化博客的心得
- js获取屏幕宽高和下拉加载更多
- ssm整合 durid数据源 报错java.sql.SQLException: Access denied for user ‘xxx‘@‘localhost‘
- Lua基础(字符处理)
- corntab定时执行任务
- 第4章 更新Erlang.mk
- java 查看jar 版本信息_Jar包版本查看方法
- 博弈论——取石子问题
- WPS Excel将多个Excel文件合并到一个Excel文件中(sheet)
- 人工智能再突破:中国MR来了!
- Python爬取网易云音乐热歌榜(爬虫)
- 多传感器融合track fusion
- R:CSV读取问题Error in read.table(file = file, header = header, sep = sep, quote = quote, : 列的数目比列的名字要多
- 某宝 小黑屋 x-sg?xt x-si?n x-m?ni-w?a 分析学习
- [VB程序设计创新实验教程]Chap1---VB中游戏基本要素的实现方式[1]
- 160429 vue.js 2 台灣小凡(体验 vuejs 2之随笔)
- 我炸了!前有4个月造抖音,现有3天造百度!!!
热门文章
- 【3月30日直播】新冠病毒全基因组测序——Midnight试剂盒及整体解决方案
- QIIME 2用户文档. 11元数据Metadata(2019.7)
- QIIME 2用户文档. 3老司机上路指南(2019.7)
- Current Biology | 以退为进——白逢彦组揭示酿酒酵母通过基因网络的逆向进化适应环境的新机制...
- pandas使用groupby.first函数、groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异)
- 使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件、清除缓存文件、解救C盘、拒绝C盘爆炸
- R语言explore包进行探索性数据分析实战(EDA、exploratory data analysis):基于iris数据集
- Kinesis、Streams and Firehose
- sklearn使用FeatureHasher处理字符串特征
- python趋势稳定检验Kwiatkowski-Phillips-Schmidt-Shin