参考文件:http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html
一、JsonObject

1.JAR包简介

要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:

  1. commons-lang.jar
  2. commons-beanutils.jar
  3. commons-collections.jar
  4. commons-logging.jar
  5. ezmorph.jar
  6. json-lib-2.4-jdk15.jar
  7. json-lib-2.4-jdk15-javadoc.jar
  8. json-lib-2.4-jdk15-sources.jar

2.JSONObject对象使用

JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。

  1. public static User getUserFromJson(String json) {
  2. User user = new User();
  3. try {
  4. JSONObject obj = JSONObject.fromObject(json);
  5. user.setUserId(obj.getInt(Tables.User.Fields.USERID));
  6. user.setAccount(obj.getString(Tables.User.Fields.ACCOUNT));
  7. user.setPassword(obj.getString(Tables.User.Fields.PASSWORD));
  8. user.setGender(obj.getInt(Tables.User.Fields.GENDER));
  9. user.setPermission(obj.getInt(Tables.User.Fields.PERMISSION));
  10. user.setName(obj.getString(Tables.User.Fields.NAME));
  11. user.setRemark(obj.getString(Tables.User.Fields.REMARK));
  12. user.setContact(obj.getString(Tables.User.Fields.CONTACT));
  13. return user;
  14. } catch (Exception ex) {
  15. ex.printStackTrace();
  16. }
  17. return null;
  18. }

二、Gson处理Json格式数据

1.Object to json格式

  1. public String getAllVideosByJson() throws Exception {
  2. List<Video> videos = service.getAllVideos();
  3. StringBuilder sb = new StringBuilder();
  4. //Gson gson = new Gson();
  5. Gson gson = new Gson();
  6. String result = gson.toJson(videos);
  7. return result;
  8. }

2.json格式的字符串变为Video对象

    1. public static List<Video> getJSONAllVideos_2() throws Exception {
    2. String path = "http://192.168.2.107:8080/VideoWeb/VideoServlet?format=json&type=get";
    3. URL url = new URL(path);
    4. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    5. conn.setReadTimeout(5 * 1000);
    6. conn.setRequestMethod("GET");
    7. InputStream inStream = conn.getInputStream();
    8. byte[] data = StreamTool.readInputStream(inStream);
    9. String json = new String(data);
    10. Type typeList = new TypeToken<ArrayList<Video>>() {
    11. }.getType();
    12. Gson gson = new Gson();
    13. ArrayList<Video> videos = gson.fromJson(json, typeList);
    14. return videos;
    15. }

JsonObject和Gson详解的更多相关文章

  1. JSONObject使用方法详解

    1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...

  2. 浅谈Android项目----JSON解析(4种解析技术详解)

    json简介 1.概念:json全称是javaScript object Notation,是一种并轻量级的数据交换格式. 2.特点: 1.本质就是具有特定格式的字符串 2.json完全独立于编程语言 ...

  3. JAVA中的四种JSON解析方式详解

    JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...

  4. 搜索引擎框架之ElasticSearch基础详解(非原创)

    文章大纲 一.搜索引擎框架基础介绍二.ElasticSearch的简介三.ElasticSearch安装(Windows版本)四.ElasticSearch操作客户端工具--Kibana五.ES的常用 ...

  5. 『动善时』JMeter基础 — 31、JMeter中BeanShell断言详解

    目录 1.BeanShell简介 2.Beanshell的内置变量和方法 3.BeanShell断言界面详解 4.BeanShell断言的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 ...

  6. Android 网络框架之Retrofit2使用详解及从源码中解析原理

    就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...

  7. Android proguard 详解

    本文转载于:http://blog.csdn.net/banketree/article/details/41928175 简介 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往 ...

  8. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

  9. Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解

    Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756 ...

随机推荐

  1. PBR Metallic/Roughness工作流中Albedo与F0的计算方法

    首先简单回顾一下典型的纯金属与绝缘体的PBR属性: 纯金属: Albedo(diff): 0 F0(spec): >0.3 (or 0.5, epic/allegorithmic etc.) M ...

  2. Asp.Net模拟post提交数据方法

    方法1: System.Net.WebClient WebClientObj = new System.Net.WebClient(); System.Collections.Specialized. ...

  3. Linux内核分析:recv、recvfrom、recvmsg函数实现

    先看一下这三个函数的声明: #include <sys/types.h> #include <sys/socket.h> ssize_t recv(int sockfd, vo ...

  4. TNS-12518,TNS-12536,TNS-00506,Linux Error: 11: Resource temporarily unavailable

    TNS-12518: TNS:listener could not hand off client connection TNS-12536: TNS:operation would block  T ...

  5. js生成二维码实例

    <!DOCTYPE html><html><head>    <title></title>    <meta charset=&qu ...

  6. model number

    // test.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...

  7. 固定高度div,随内容自动变高css定义方法

    *{ font-size:12px; margin:0; padding:0;}方法1:#testBox{border:1px solid #cccccc;padding:5px;width:220p ...

  8. 基于jQuery仿去哪儿城市选择代码

    基于jQuery仿去哪儿城市选择代码.这是一款使用的jQuery城市选择特效代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="lin ...

  9. [转]快速搞懂Gson的用法

    原文地址:http://coladesign.cn/fast-understand-the-usage-of-gson/ 谷歌gson这个Java类库可以把Java对象转换成JSON,也可以把JSON ...

  10. [转]关于oracle with as用法

    原文地址:https://www.cnblogs.com/linjiqin/archive/2013/06/24/3152667.html with as语法–针对一个别名with tmp as (s ...