1. 教程链接(json-smple1.1.1.jar文件)
    1. 链接:http://pan.baidu.com/s/1qXPbYHm 密码:v0f0
  2. 如何使用java编程语言编码和解码JSON
  3. 首先准备环境以便针对JSON进行java编程
    1. 下载jsonsimple-1.1.1.jar文件
    2. 把jar文件的路径添加到classpath环境变量当中



  1. JSON和java实体的映射
    1. JSON.simple实体映射从左侧到右侧为解码或者解析,实体映射从右侧到左侧为编码
    2. 解码时,
      1. java.util.List的默认具体类是org.simple.JSONArray,
      2. java.util.Map的默认具体类是org.simple.JSONObject
  2. 在java中编码JSON
    1. 使用java.util.HashMap的子类JSONObject编码一个JSON对象,这里并没有提供顺序
    2. 如果需要严格的元素顺序,可以使用JSONValue.toJSONString(map)方法的有序映射实现,比如java.util.LinkedHashMap.
    3. package jlu.yangzs.json;
      
      import org.json.simple.JSONObject;
      class JsonEncodeDemo
      {
      public static void main(String[] args)
      {
      JSONObject obj = new JSONObject();
      obj.put("name", "foo");
      obj.put("num", new Integer(100));
      obj.put("balance", new Double(1000.21));
      obj.put("is_vip", new Boolean(true));
      System.out.print(obj);
      }
      }
    4. 运行上面的程序,将会出现下面的结果
      1. {"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
    5. 下面是另外一个例子,使用java JSONObject展示了JSON对象流
      1. package jlu.yangzs.json;
        
        import java.io.IOException;
        import java.io.StringWriter; import org.json.simple.JSONObject; public class JsonTest {
        public static void main(String[] args) throws IOException { JSONObject jsonObejct=new JSONObject(); jsonObejct.put("name", "foo");
        jsonObejct.put("num",new Integer(100));
        jsonObejct.put("balance", new Double(100.21));
        jsonObejct.put("is_vip", new Boolean(true)); //下面两句代码比较关键
        StringWriter out=new StringWriter();
        jsonObejct.writeJSONString(out); String jsonText=out.toString();
        System.out.println(jsonText); } }
    6. 运行上面的程序,将会显示下面的结果
      1. {"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
    7. 在java程序当中解码JSON
      1. 例子当中使用了JSONObject和JSONArray,其中,
        1. JSONObejct就是java.util.Map
        2. JSONArray就是java.util.List
        3. 因此,我们可以使用Map或者是List的标准操作来操作来访问他们
        package jlu.yangzs.jsondecode;
        
        import org.json.simple.JSONArray;
        import org.json.simple.JSONObject;
        import org.json.simple.parser.JSONParser;
        import org.json.simple.parser.ParseException; public class JsonDecodeDemo { public static void main(String[] args) { JSONParser parser=new JSONParser(); String s="[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]"; try {
        Object obj=parser.parse(s);
        JSONArray jsonArray=(JSONArray)obj; System.out.println("the 2nd element of array:");
        System.out.println(jsonArray.get(1)); System.out.println(); JSONObject jsonObj=(JSONObject)jsonArray.get(1);
        System.out.println("Field \"1\"");
        System.out.println(jsonObj.get(1)); s="{}";
        obj=parser.parse(s);
        System.out.println(obj); s="[5]";
        obj=parser.parse(s);
        System.out.println(obj); s="[5,2]";
        obj=parser.parse(s);
        System.out.println(obj); } catch (ParseException e) { e.printStackTrace();
        } } }
    8. 运行上面的程序,显示结果如下
      1. the 2nd element of array:
        {"1":{"2":{"3":{"4":[5,{"6":7}]}}}} Field "1"
        null
        {}
        [5]
        [5,2]

3、示例(在java中使用JSON)的更多相关文章

  1. JAVA中使用JSON进行数据传递

    最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作. 其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JS ...

  2. 转载:JAVA中使用JSON进行数据传递

    转载网址:http://www.cnblogs.com/undead/archive/2012/07/18/2594900.html 最近在做一个基于JAVA Servlet的WEB应用以及对应的An ...

  3. JSON(三)——java中对于JSON格式数据的解析之json-lib与jackson

    java中对于JSON格式数据的操作,主要是json格式字符串与JavaBean之间的相互转换.java中能够解析JSON格式数据的框架有很多,比如json-lib,jackson,阿里巴巴的fast ...

  4. Java中哪个JSON库的解析速度是最快的?

    JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考 了.我们很少会去想用到的这些JSON库到底有什么不同,但事实上 ...

  5. java 中关于json的使用方法

    json在数据传输起了很大的作用,下面说说java中json的使用方法. 文章参考:http://www.codes51.com/article/detail_99574.html json串示例 [ ...

  6. 使用Jackson在Java中处理JSON

    在工作中实际使用到Java处理JSON的情况,且有很大部分都使用的是开源工具Jackson实现的. 一.入门 Jackson中有个ObjectMapper类很是实用,用于Java对象与JSON的互换. ...

  7. JAVA中,JSON MAP LIST的相互转换

    1 JSON包含对象和数组,对应于JAVA中的JSONObject,JSONArray 2 String 转JSON对象 JSONObject.fromObject("String" ...

  8. java中对于JSON 的处理 fastjson gson 系统自带的JSON 的选择

    从2月初到8月末,经历了一段痛苦的经历,现在总算感觉已经走出来了,经历那事之后 感觉对人与人之间的感情看的更透了,人也没那么浮躁了: 说实话 以前从来不知道鸟叫有多好听,现在突然觉的大自然真的很美,放 ...

  9. Java中的Json序列化,不容忽视的getter

    在开发的过程中,经常会碰到和自己预期不一样的情况.有的时候自己去研究一下还是很有趣的.这两天在写java web的时候,碰到了一个对象序列化的问题. 问题重现 public class AjaxJso ...

随机推荐

  1. 题解【洛谷P1948】[USACO08JAN]电话线Telephone Lines

    题面 题解 很显然,答案满足单调性. 因此,可以使用二分答案求解. 考虑\(check\)的实现. 贪心地想,免费的\(k\)对电话线一定都要用上. 每次\(check\)时将小于\(mid\)的边权 ...

  2. Xampp在Mac下报403的问题

    将httpd.conf里的 User daemonGroup daemon 改为 User myusername(当前使用的用户名)Group admin

  3. MFC对话框常用操作文章收藏

    1.改变控件文本 参考链接:https://blog.csdn.net/active2489595970/article/details/88856235 所有控件的文本都可以用这种方式动态改变. 2 ...

  4. uGUI源码调试

    uGUI源代码地址:https://bitbucket.org/Unity-Technologies/ui 工具编译后转换位置{Unity3D_Vserion}\Editor\Data\UnityEx ...

  5. JS jQuery 点击页面弹出文字

    <style> .animate{ animation:myfirst 3s; -moz-user-select:none;/*火狐*/ -webkit-user-select:none; ...

  6. 如何在Word中批量选中特定文本

    如何在Word中批量选中特定文本 举个例子,我们对如下文本进行操作,将文本中所有的“1111111”标红,所有的“2222222”标绿,所有的“3333333”标蓝 在Word中找到“查找”下的“高级 ...

  7. CentOS7识别不到win10启动项的解决方法

    Windows的文件系统是NTFS格式的,而CentOS是不支持NTFS格式的.因此,我们要安装另外的工具使CentOS能识别NTFS格式的文件系统. 这里我们选择ntfs-3g这个工具,安装过程如下 ...

  8. Educational Codeforces Round 76 (Rated for Div. 2) D. Yet Another Monster Killing Problem

    You play a computer game. In this game, you lead a party of mm heroes, and you have to clear a dunge ...

  9. Junit +cucumber 运行报错 initiallizationError

    step1: 访问 https://search.maven.org/  搜索下载相关jar包 step2: 访问 http://maven.outofmemory.cn/info.cukes/cuc ...

  10. Apache Kafka(二)- Kakfa 安装与启动

    安装并启动Kafka 1.下载最新版Kafka(当前为kafka_2.12-2.3.0)并解压: > wget http://mirror.bit.edu.cn/apache/kafka/2.3 ...