zoukankan      html  css  js  c++  java
  • IDEA(JAVA)使用json

    首先介绍一下json

    SON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。

    JSON就是一串字符串 只不过元素会使用特定的符号标注。

    {} 双括号表示对象

    [] 中括号表示数组

    "" 双引号内是属性或值

    : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

    所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象

    而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

    当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象

    第一步:导入相关的jar包

    我已经将所有需要的包打包好了,大家可以用打开这个链接下载,密码:k2gy

    第二步:简单的示例(生成json)

    由于我是要直接开发服务器的程序,所以这里做了一个简单的serverlet来示范一下,这里给出了三种生成json的方式,下面是代码 

    package com.tanlei.json;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    @WebServlet("/json")
    public class JsonServerlst extends HttpServlet {
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.setContentType("text/html;charset=UTF-8");
            PrintWriter out =resp.getWriter();
    
            //1.普通生成json数据
            JSONObject job=new JSONObject();
            job.put("key","value");
            out.println(job);
            out.println("</br>");
    
            //2.通过list生成json数据
            List list=new ArrayList();
            list.add("first");
            list.add("second");
            list.add("third");
            JSONArray jsonArray=JSONArray.fromObject(list);
            out.println(jsonArray);
            out.println("</br>");
    
            //3.通过map生成json数据
            Map map=new HashMap();
            map.put("key1","value1");
            map.put("key2","value2");
            map.put("key3","value3");
            JSONObject jsonObject3=JSONObject.fromObject(map);
            out.println(jsonObject3);
            out.println("</br>");
    
            //4.Bean转换成json代码
            //JSONObject jsonObject =JSONObject.fromObject(new JsonBean());
    
            //5.数组转换成json代码
            boolean[] boolArray = new boolean[] { true, false, true };
            JSONArray jsonArray1 =JSONArray.fromObject(boolArray);
            out.println(jsonArray);
            out.println("</br>");
    
            //6.一般数据转换成json代码
            JSONArray jsonArray3 =JSONArray.fromObject("['json','is','easy']" );
            out.println(jsonArray3);
            out.println("</br>");
        }
    }

    第三步:(解析json)

  • 相关阅读:
    sql-trace-10046-trcsess-and-tkprof
    教你深入理解软件包的配置、编译与安装过程
    Java RESTful 框架的性能比较
    gcc、arm-Linux-gcc和arm-elf-gcc的组成及区别
    Linux线上系统程序debug思路及方法
    使用systemtap调试Linux内核 :www.lenky.info
    SystemTap使用技巧 1
    gvfs
    Systemtap examples, Network
    .NET 大型信息化建设标准基础数据管理平台
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/10030596.html
Copyright © 2011-2022 走看看