`

Java解析(读取)Json数据

    博客分类:
  • Json
阅读更多
1.JSON介绍

JSON比XML简单,主要体现在传输相同信息的情况下,文件的大小不同。
JSON只用于传输信息,XML还可以用于配置文件的使用。
JSON中的符号主要有: " , [ { :

2.JSON中的数组和对象

  2.1 数组(JSONArray)
  数组用一对[],表示存放的是一般的数组数据。
  如:["11","22","33"],表示这是一个JSONArray数组,里面有3个数据:'11','22','33'。当然可以是复杂的数据,就是所谓的嵌套定义吧。

  2.2 对象(JSONObject)
  对象用一对{},来表示其中JSON通用的”键-值“对。
  如:
  var Query={
        "name":"Test",
        "age":12
        }; 

Query表示的是一个JSON对象,里面有两组数据(键值对),name=Test,age=12。当然这里键对应的数据值,可以是复杂的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"]
        
        //传入json字符串
        jsonObj = JSONObject.fromObject("{\"name\":\"Test\",\"age\":999}");
	   System.out.println(jsonObj.get("name"));
	   System.out.println(jsonObj.get("age"));
    }
}


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<String,Object> map=new HashMap<String,Object>();
        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":"第一个"}
        
    }
}


4.总结

JSON就是一种数据的组织形式,可以说是XML的简化版本,只用于数据传输。
  Java字符串转换成Json对象时:JsonArray和JsonObject都是用fromObject方法得到Json对象。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java 解析 json文件 java 解析 json文件

    Java解析JSON文件是Java开发中常见的一项任务,特别是在与Web服务交互或处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写的特点,被广泛应用于网络数据传输...

    Java读取json文件,并转化为map取值

    在Java编程中,处理JSON数据是一项常见的任务,特别是在与服务器进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本教程将深入讲解...

    java解析json数据

    Java中解析JSON数据主要依赖于一些库,如org.json库(包含JSONObject和JSONArray类)。 在Java中,解析JSON数据的步骤通常分为以下几个部分: 1. **导入相关库**:首先,你需要在项目中引入JSON库。如果是使用...

    java FASTJSON 解析复杂JSON实例源码

    3. 解析JSON:读取JSON字符串,然后使用`parseObject`或`parseArray`方法将其转换为Java对象或集合。 4. 遍历和访问数据:一旦有了Java对象,你可以通过字段名或索引来访问和操作数据。 5. 反序列化:如果你需要将...

    java解析DWG文件为json使用superMap

    【标签】:“java解析DWG文件json java读取dwg文件” 本文将详细介绍如何使用Java和SuperMap iObjects Java库解析DWG文件并将其转换为JSON格式。SuperMap iObjects Java是一款强大的GIS(地理信息系统)开发工具,...

    kettle解析json串

    - 添加适当的步骤来读取JSON数据。 - 使用Java脚本步骤来解析JSON数据。 #### 3. **解析JSON** - 使用`JSON Simple`库解析JSON。 - 根据实际需求遍历JSON对象并提取所需字段。 - 对于每个字段,根据其类型进行...

    Java解析JSON文本,大数据量工具包

    解决当内存资源不充足时大数据量的JSON文本解析为JSON对象会导致内存溢出的问题。 基于org.json的部分源代码,以及新增的JsonLazyer类。 原理:用时创建的规则降低传统解析器一次性将文本转成Java对象而占用大量内存...

    JAVA解析JSON数据

    本篇文章将深入探讨如何在Java中解析JSON数据。 首先,我们需要一个JSON库来帮助我们进行解析工作。Java标准库并不内置JSON处理功能,但有多个开源库可供选择,如Gson、Jackson、org.json和JSON-P。这里我们以广泛...

    android 动态解析获取json数据的键值对

    在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值...

    JAVA 解析 JSON 数据(包齐全)

    - **读取JSON字符串**:你可以从文件、网络流或字符串中读取JSON数据。 ```java String jsonString = Files.readString(Paths.get("path_to_your_json_file.json")); ``` - **将JSON字符串转换为Java对象**:...

    java解析dxf文件返回json工具类

    java解析dxf文件返回json工具类

    java读取kml文件数据

    Java语言在处理各种类型的数据文件方面具有广泛的应用...用户只需提供KML文件路径,即可获得相应的JSON数据,大大简化了处理地理信息的流程。这在地理信息系统(GIS)应用开发、地图数据处理等领域都有很大的实用价值。

    java 获取json网页数据

    从HTTP响应中读取JSON数据后,我们可以使用`JSONObject`或`JSONArray`进行解析: ```java BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder sb = new StringBuilder(); ...

    java解析读取excel,word,txt,xml,json等jar包

    支持excel2003,2007的解析读取,可指定sheet页读取,指定行开始读取,过滤空行,指定列读取,过滤空单元格,支持json文件的解析读取,支持word文件的解析读取,txt文件等等,需要API文档可私信本人

    Android读取本地json文件的方法(解决显示乱码问题)

    - **Android操作JSON格式数据**:Android提供了Gson库、org.json库等工具来解析和生成JSON数据。 - **Android数据库操作**:SQLite是Android内置的轻量级数据库,可以用于持久化数据。 - **Android Activity操作**:...

    使用java请求json接口数据

    这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,...

    java解析json的方法

    ### Java解析JSON的方法 在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。因此,在处理Web服务、API接口等方面,JSON数据格式非常常见...

    Java Json解析,Java Web Json解析,Java Web服务端获取Json数据,客户端通过HTTP获取Json数据

    对于Java Web服务端获取JSON数据,通常涉及到Servlet、JSP或Spring MVC等框架。当客户端通过HTTP请求发送JSON数据时,服务端需要解析这些数据。例如,在Servlet中,可以使用HttpServletRequest的getInputStream方法...

    JAVA解析json文件(使用json.org.jar)

    解析完JSON数据后,你可以将结果绑定到UI组件,如ListView、RecyclerView等,或者用于业务逻辑处理。 在AndroidManifest.xml中,如果没有特殊权限需求,这部分内容不会直接影响JSON解析。但是,如果你的JSON数据...

    java解析本地数据,数据未拿出

    在这个场景中,开发者遇到了一个问题:尝试使用Java解析JSON数据,但未能成功提取出数据。 首先,我们需要理解Java如何处理JSON数据。Java提供了多种库来解析和生成JSON,如Jackson、Gson和org.json等。在这里,...

Global site tag (gtag.js) - Google Analytics