Json两种解析方式

JSON数据解析的有点在于他的体积小,在网络上传输的时候可以更省流量,所以使用越来越广泛,下面介绍使用JsonObject和JsonArray的两种方式解析Json数据。

使用以上两种方式解析json均需要依赖json-lib.jar开发包使用依赖包

1、JsonObject

使用JsonObject解析只有一条数据的json是非常方便的例如:"{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"[email protected]\"}"

public static void main(String[] args) {  

         String jsonString ="{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"[email protected]\"}";
         JSONObject json = JSONObject.fromObject(jsonString);
         User user = new User();
         user.setName(json.getString("name"));
         user.setPassword(json.getString("password"));
         user.setEmail(json.getString("email"));
         System.out.println(user.toString());
    }

2、JsonArray

使用JsonArray解析数组数据的json是非常方便的例如:"[{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"[email protected]\"},{\"name\":\"lisi\",\"password\":\"lisi123\",\"email\":\"[email protected]\"}]"

String json ="[{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"[email protected]\"},{\"name\":\"lisi\",\"password\":\"lisi123\",\"email\":\"[email protected]\"}]";
         JSONArray jsonArray = JSONArray.fromObject(json);
         ArrayList<User> users = new ArrayList<User>();
         for (int i = 0; i < jsonArray.size(); i++) {
             User userM = new User();
             user.setName(jsonArray.getJSONObject(i).getString("name"));
             user.setpassword(jsonArray.getJSONObject(i).getString("password"));
             user.setEmail(jsonArray.getJSONObject(i).getString("email"));
             users.add(user);
        }
         for (User user : users) {
            System.out.println(user.toString());
        }

原文地址:https://www.cnblogs.com/BruceV/p/12038486.html

时间: 2024-09-30 10:30:54

Json两种解析方式的相关文章

xml的两种解析方式

xml解析是日常项目中用到比較多的技能.不管是配置參数或者数据都能够保存在xml文件里.同一时候也能够将xml作为数据传输的一种格式.本文将介绍两种基本解析方式:xml字符串解析和xml文件解析. xml字符串解析 package com.discover.parse; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Documen

爬虫的两种解析方式 xpath和bs4

1.xpath解析 from lxml import etree 两种方式使用:将html文档变成一个对象,然后调用对象的方法去查找指定的节点 (1)本地文件 tree = etree.parse(文件名) ===>保存的本地文件路径放入 (2)网络文件 tree = etree.HTML(网页字符串) ==>直接把得到的网页字符串作为参数传入 ret = tree.xpath(路径表达式) [注]ret是一个列表,所以要用ret需要对之进行处理 参考文献:w3c  xpath - 安装xpa

XML的两种解析方式逐行解析(SAX解析)节点解析(DOM解析);

SAX逐行解析 SAX:SimpleAPIfor XML.基于事件驱动的解析方式,逐行解析数据.(采用协议回调机制) NSXMLParser是iOS自带的XML解析类.采用SAX方式解析数据 解析过程由NSXMLParserDelegate协议方法回调 解析过程:开始标签->取值->结束标签->取值 DOM解析 DOM:DocumentObjectModel(文档对象模型).解析时需要将XML文件整体读入,并且将XML结构化成树状,使用时再通过树状结构读取相关数据 GDataXMLNod

XML的两种解析方式,Dom4j and SAX parse

Dom4j and Sax difference. Dom4j 解析的速度慢,而且消耗内存,因为在解析之前要先把文件放到内存中.并采用基于对象的模型解析 有以下几点: 1. Dom4J parse loads the entire XML file into memory before parsing. 2. It uses Object based Model for parsing XML. 3. High memory usage - as it loads the file to mem

XML与JSON两种数据结构比较和各自底层实现

1.XML与JSON两种数据结构的优缺点 1> XML 优点:? 格式统一, 符合标准? 容易与其他系统进行远程交互, 数据共享比较方便 ? 缺点: XML文件格式文件庞大, 格式复杂, 传输占用带宽? 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护 客户端不同,浏览器之间解析XML的方式不一致, 需要重复编写很多代码? 服务器端 和 客户端 解析XML花费资源和时间 2> JSON 优点:? 数据格式比较简单, 易于读写, 格式都是压缩的,

xml中俩种解析方式

两种解析方式 1.from xml.etree import ElementTree as ET 利用ElementTree模块下的xml方法可以把一个字符串类型的东西转换成Element类,从而利用Element类下面的方法 xml(字符串)解析方式只能读不能写 from xml.etree import ElementTree as ET # 打开文件,读取XML内容 str_xml = open('xo.xml', 'r').read() # 将字符串解析成xml特殊对象,root代指xm

JSON的三种解析方式

一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串.数字.也可以是另一个数组或对象) 所以 {"name": "Michael"} 可以理解为是一个包含name为Mich

Unity3d Android SDK接入解析(二)Unity3d Android SDK的设计与两种接入方式

一.前言 上篇说清楚了Unity和Android调用的方式,但很多实际接入的部分没有讲的很详细,因为重头在这篇,会详细讲述具体接入Android SDK的方式,和怎么去做一个方便Unity接入的SDK. 传送门: 前篇:Unity3d 与 Android之间的互相调用 http://blog.csdn.net/yang8456211/article/details/51331358 后篇:Unity3d Android SDK接入解析(三)接入Android Library的理解 http://

两种解析JSON的方法

对一段json字符串,解析有两种方法 第一种是普通的解析方法:如下 比较有代表性的解析json的方法,嘿嘿 还有一种是利用Gson解析,这种方法解析起来比较方便,不需要像那种普通的方法一样写那么多代码 注:在使用gson的时候类中的属性名称要和json中的属性名称一样 两种解析JSON的方法