JSON的使用

Wesley13
• 阅读 750

一.json常用转换方法

1.list

List list = new ArrayList();
list.add("first");
list.add("second");
JSONArray jsonArray2 = JSONArray.fromObject(list);

2.map

Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "a", "b" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);

3.bean

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());

4.数组

boolean[] boolArray = new boolean[] { true, false, true }; 
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);

5.一般数据

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

6.beans

List list = new ArrayList();
JsonBean2 jb1 = new JsonBean2();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue("xx");
JsonBean2 jb2 = new JsonBean2();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue("");
list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);

二.HTML页面将String转换成json

eval()

function testFunction() {
    var jsonStr = '${str}';
    var dataObj = eval("(" + jsonStr + ")");//转换为json对象
    $.each(dataObj.info, function(idx, item) {
        alert("name:" + item.uuid + " , vaddress:" + item.vaddress);
    });
}

三.后台向前台传json

1.使用转义符  \

2.交给前台来处理 eval()

3.使用json工具类

后台代码:

        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.返回标准的json字符串(双引号要用转义符)
        //String s = "[{\"id\":1,\"text\":\"Root node\",\"children\":[{\"id\":2,\"text\":\"Child node 1\",\"children\":true},{\"id\":3,\"text\":\"Child node 2\"}]}]";
        
        //2.前台使用eval()函数将string装换成json格式
        //String s = "[{id:1,text:'Root node',children:[{id:2,text:'Child node 1',children:true},{id:3,text:'Child node 2'}]}]";
        
        //3.使用json工具类
        JSONArray s = getJson();
        response.setContentType("json");
        
        response.getWriter().print(s);
    }

        private JSONArray getJson() {
        JSONObject jo1 = new JSONObject();
        JSONObject jo2 = new JSONObject();
        jo1.put("id", 2);
        jo1.put("text", "Child node 1");
        jo2.put("id", 3);
        jo2.put("text", "Child node 2");
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(jo1);
        jsonArray.add(jo2);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("id", 1);
        jsonObject.put("text", "Root node");
        jsonObject.put("children", jsonArray);
        JSONArray json = new JSONArray();
        json.add(jsonObject);
        return json;
    }

前台代码:

<div id="jstree"></div>
    <script>
        $(function() {
            $.ajax({
                url : "IndexServlet",
                datatype : "json",
                success : function(o) {
                    create(o);
                }
            });
        });
        function create(data) {
            //data = eval("(" + data + ")");
            $('#jstree').jstree({
                "core" : {
                    "data" : data
                },
            });
        }
        /* $(function() {
            $('#jstree').jstree({
                'core' : {
                    'data' : {
                        "url" : "IndexServlet",
                        "data" : function(node) {
                            return {
                                "id" : node.id
                            };
                        },
                        "dataFilter" : function(o) {
                            o = eval("(" + o + ")");
                            console.info(o);
                            return o;
                        } 
                    }
                }
            });
        }); */
    </script>
点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java8对集合的处理
publicstaticvoidmain(String\\args){List<StudentlistLists.newArrayList();list.add(newStudent("测试","男",18));list.add(newStudent("开发","男",20));list.add(n
_dolphin _dolphin
3年前
[C#]ArrayList、string、string[]之间的转换
1、ArrarList转换为string\\:  ArrayListlistnewArrayList();  list.Add("aaa");  list.Add("bbb");  string\\arrString(string\\)list.ToArray(typeof(string));2、string\\转换
Wesley13 Wesley13
3年前
Java Lambda 常用案例
List类的Stream处理:List<StringlistnewArrayList<String();list.add("djk");list.add("djk1");list.add("djk12");//maplistlist.stream().ma
Wesley13 Wesley13
3年前
Java初始化List的五种方法
在Java中初始化List的五种方法Java中经常需要使用到List,下面简单介绍几种常见的初始化方式。方案一、构造List后使用List.add初始化。List<StringstringListnewLinkedList<();stringList.add("a");s
Wesley13 Wesley13
3年前
Java 删除List元素的正确方式
方式一:使用Iterator的remove()方法publicclassTest{publicstaticvoidmain(Stringargs){List<StringlistnewArrayList<();list.add("aa"
Easter79 Easter79
3年前
Stream的去重排序
1.List<Integer排序List<IntegerlistnewArrayList<();list.add(50);list.add(25);list.add(25);list.add(98);list.add(32);List<Integercollectlist.stream().distinct().sort
Stella981 Stella981
3年前
Delphi中TStringList类常用属性方法详解
//TStringList常用方法与属性:varList:TStringList;i:Integer;beginList:TStringList.Create;List.Add('Strings1');{添加}List.Add(
Wesley13 Wesley13
3年前
JAVA中Collections.sort()实现List排序的公共方法和自定义方法
本文是受开源中国中的一篇文章启发而写(找不到连接了,所以暂时木法贴出来,一旦找到立马贴出来),个别内容参考了开源中国会员的讨论,感谢!1.java提供的默认list排序方法主要代码:List<StringlistnewArrayList();list.add("刘媛媛");list.add(
Wesley13 Wesley13
3年前
Java将List中的实体按照某个字段进行分组的算法
publicvoidtest(){List<UserlistnewArrayList<();//User实体测试用Stringid,name;//当前测试以id来分组,具体请按开发场景修改list.add(newUse