`

Java解析及读取Json数据

阅读更多
1.JSON介绍

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

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

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

2.JSON中的数组和对象

  1)数组(JSONArray)

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

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

  2)对象(JSONObject)

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

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

3.使用
1)基本的JSONArray与JSONObject操作
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class ObjectAndArray {
    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"]
    }
}
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)读取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"],"NO2":{"NO1":"第一个"}}";
        jsonObj  = JSONObject.fromObject(object);
        System.out.println(jsonObj.get("NO1"));
        //以上输出为["44","55"]       
        jsonarray = (JSONArray)(jsonObj.get("NO1"));
        System.out.println(jsonarray.getString(1));//输出为:55
        //用"键"获取值
         jsonObj=(JSONObject)jsonObj.get("NO2");
        System.out.println(jsonObj);    //输出为:{"NO1":"第一个"}
       
    }
}





分享到:
评论

相关推荐

    java解析DWG文件为json使用superMap

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

    java FASTJSON 解析复杂JSON实例源码

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

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

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

    java解析json数据

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

    JAVA 解析JSON格式数据

    总结,Java解析JSON主要依靠第三方库,如Jackson和Gson,它们提供了解析JSON字符串到Java对象,以及将Java对象序列化为JSON字符串的功能。对于复杂的JSON结构,可以通过创建相应的Java类来映射。在实际操作中,务必...

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

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

    java解析json完整案例

    以上就是使用Java解析JSON的基本操作,包括从字符串、文件或网络获取JSON数据,以及将Java对象序列化为JSON。在实际项目中,你可能还需要处理更复杂的JSON结构,比如嵌套的对象和数组,以及处理错误情况。对于更复杂...

    java解析json格式数据 json.jar

    `json.jar` 是一个专为Java设计的JSON解析库,它包含了一系列API,帮助开发者高效地解析和生成JSON格式的数据。 在`json.jar` 中,主要的类和接口包括: 1. **JSONObject**:这个类代表一个JSON对象,它是一个键值...

    java 获取json网页数据

    在Java编程中,获取JSON网页数据是常见的任务,特别是在处理Web API或者进行数据抓取时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和高效而广泛被采用。本实例将深入讲解如何使用...

    kettle解析json串

    - 使用Java脚本步骤来解析JSON数据。 #### 3. **解析JSON** - 使用`JSON Simple`库解析JSON。 - 根据实际需求遍历JSON对象并提取所需字段。 - 对于每个字段,根据其类型进行相应的转换。 #### 4. **连接数据库...

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

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

    Java Http请求传json数据乱码问题的解决

    在Java进行HTTP请求时,通常会遇到数据传输出现乱码的问题,尤其是在使用JSON格式传输数据,且数据中包含中文字符时更为常见。在HTTP协议中,字符编码的正确处理对于数据的正确传输至关重要。以下将详细介绍在Java中...

    Java使用JSONPath解析JSON完整内容详解

    Java使用JSONPath解析JSON完整内容详解 JsonPath是一种用于从JSON文档中提取特定数据片段的查询语言。它的语法类似于CSS选择器,能够精确地定位到JSON结构中的特定位置,从中提取所需的数据。对于开发者来说,...

    JAVA解析JSON相关.docx

    标题与描述均提到了“JAVA解析JSON”,这表明文档主要关注的是如何在Java环境中解析JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java...

    Android_JSON数据解析

    在Android中,通常使用Volley库进行网络请求并获取JSON数据。首先添加依赖: ```groovy implementation 'com.android.volley:volley:1.2.1' ``` 创建Volley的RequestQueue,然后发送JsonRequest: ```java ...

    JAVA解析JSON数据

    Servlet通过`HttpServletRequest`对象的`getInputStream()`或`getParameter()`方法获取JSON数据,然后使用`ObjectMapper`进行解析。 总的来说,Java借助第三方库如Jackson,可以轻松地解析和处理JSON数据,使得在...

    java解析json结构的数据

    好用的json包,更容易解析json数据结构

    java解析xml生成json对象

    在Java编程环境中,XML(可...总的来说,Java解析XML生成JSON对象的能力使得数据在不同平台和应用间无缝交换成为可能。通过学习和使用这样的工具类,开发者可以更高效地处理XML数据,并将其集成到基于JSON的系统中。

    JAVA 解析 JSON 数据(包齐全)

    4. **解析JSON对象**:如果你已经有一个`JsonNode`对象,可以通过`findValue`,`get`等方法获取JSON对象的属性。 ```java JsonNode node = mapper.readTree(jsonString); String value = node.get("propertyName...

Global site tag (gtag.js) - Google Analytics