java web-JSON字符串的拼接问题。

问题描述

JSON字符串的拼接问题。

一个javaweb项目中有一个这种格式的json数据:
[
{
"cateName": "护肤",
"id": 1,
"pid": 0
},
{
"cateName": "彩妆",
"id": 2,
"pid": 0
},
{
"cateName": "洁面",

"id": 3,
"pid": 1
},
{
"cateName": "化妆水",

"id": 4,
"pid": 1
},
{
"cateName": "洁面乳",

"id": 5,
"pid": 3
}
]
我想把它转换成下面这种格式:
[
{
"cateName": "护肤",
"id": 1,
"pid": 0,
"children":[{
"cateName": "化妆水",

"id": 4,
"pid": 1
}]
},
{
"cateName": "彩妆",
"id": 2,
"pid": 0
},
{
"cateName": "洁面",

"id": 3,
"pid": 1,
"children":[{
....
}]
},

{
    "cateName": "洁面乳",
    "id": 5,
    "pid": 3,
            "children":[{
                ....
            }]
}

]
就是跟这个格式一样的:http://www.jeasyui.com/demo/main/treegrid_data1.json

请问一下要怎么处理?
没有cb了不能悬赏见谅。。。

解决方案

拼接json字符串
concat拼接json字符串
[java]字符串的拼接问题

解决方案二:

json数据的两种形式,JSONObject 和JSONArray

解决方案三:

前端还是后端?前端的话试试json[0].cateName,后端的话试试JSONArray或者List

解决方案四:

问题已解决 我在后台写了一个方法来组装tree
public void formatjson(List categories,List categories2){
if (categories.size()!=0) {

        List<Category> cate4=new ArrayList<Category>();
        for (Category category1 : categories2) {
            List<Category> child=category1.getChildren();//拿到顶级目录的子类
            for (Category category : categories) {
                if (category1.getId().intValue()==category.getPid().intValue()) {
                    child.add(category);
                    cate4.add(category);
                }
            }
        }

        //移除已经添加的类
        for (Category category : cate4) {
            categories.remove(category);
        }

        //递归调用函数,遍历子类的子类
        for (Category category : categories2) {
            formatjson(categories, category.getChildren());
        }

    }
}
时间: 2024-10-10 12:44:42

java web-JSON字符串的拼接问题。的相关文章

Java中Json字符串直接转换为对象的方法(包括多层List集合)_java

使用到的类:net.sf.json.JSONObject  使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 下面是例子代码: // JSON转换 JSONObject jsonObj = JSONObject.fromObject(jsonSt

Java中Json字符串直接转换为对象(包括多层List集合)

使用到的类:net.sf.json.JSONObject  使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 下面是例子代码: // JSON转换 JSONObject jsonObj = JSONObject.fromObject(jsonSt

Java中JSON字符串与java对象的互换实例详解_java

在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串 [

Java Web程序实现返回JSON字符串的方法总结_java

基础铺垫在java中,关于json的lib有很多,比如jackjson.fastjson.gson等等,本人都用过,但是对于我等只需要让java对象返回json字符串即可的程序员来说,还是显得过于繁重.而且有些功能定制性很差,比如一个java对象的属性为空时,这些组件都不会输出,于是本人在页面循环遍历列表对象时,总是得判断此属性是否为undefined,这一点让本人很不满意.所以决定花点时间研究下到底是怎么回事. 但经过一上午的细看,发现不管是fastjson还是gson都代码都写得相当的复杂,

PHP如何处理JAVA过来的接口和PHP返回给Javascript的JSON字符串

如果你想处理JAVA过来的接口.在PHP里面是这样表现的: <?php $url = '此处为JAVA提供的接口URL地址'; //我们统一用的是JSON格式 $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CUR

Java 中的字符串常量池详解_java

Java中的字符串常量池 Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式.然而这两种实现其实存在着一些性能和内存占用的差别.这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池或者字符串字面量池.

使用 Rhino 作为 Java 的 JSON 解析/转换包

前端开发者是幸福的,源自于浏览器对 JSON 天然的支持(JSON 本身脱胎于 JavaScript),JSON 字符串一下子 eval() 或者 JSON.parse() 就可以直接使用了:输出 JSON 字符反之亦然. 如果是 JS 的老大哥 Java 呢?这个问题大家应该都会不约而同地回答:一般从接口转换 Java 对象为 JSON 输出的时候都会选择相关的 JSON-lib,有的是 JSON.org 的,有的是 Jackson JSON,有的是 FastJSON 的,有的是 GSON的,

json数据-java web开发 json怎么用?

问题描述 java web开发 json怎么用? 使用json数据经常出错,map.input不清楚输入数据的正确性. 解决方案 我在项目里用json并不多,只是在用ajax到后台后后台返回值用的json,json也就像Map一样,只不多它是字符串罢了.json挺好用的用时也是通过对象点属性的 方式来取值的

Java Web程序中利用Spring框架返回JSON格式的日期_java

返回Json时格式化日期Date第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@ResponseBody返回json时,日期格式默认显示为时间戳的问题.需配合<mvc:message-converters>使用 */ @Component("customObjectMapper") public class CustomObjectMapper extends ObjectMapper { public CustomObjectM