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)

  • 相关阅读:
    GitLab的基础使用-汉化配置
    GitLab的基础使用-数据备份与恢复
    Apache Hadoop集群扩容实战案例
    Hadoop 集群-完全分布式模式(Fully-Distributed Mode)
    HDFS参数调优总结
    网站压力测试 工具webbench
    2013年十大必知的大数据分析公司
    做电子商务网上开店应该读的书
    教你用大功率路由器覆盖3平方公里的WiFi广告
    中央推进城镇化建设 六行业分享25万亿蛋糕
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/10030596.html
Copyright © 2011-2022 走看看