`

一个生成json字符串的类

阅读更多
public class UserProjWorkloadQueryTreeNodeUtil {

    @SuppressWarnings("unchecked")
    public static String getJsonString(List<UserProjWorkloadQueryTreeNode> list) {
        if (list == null || list.isEmpty()) {
            return "";
        }
        StringBuffer sb = new StringBuffer();
        if (list != null && !list.isEmpty()) {
            boolean first = true;
            for (UserProjWorkloadQueryTreeNode node : list) {
                if (first) {
                    sb.append("[");
                    first = false;
                } else {
                    sb.append(",");
                }
                if (node.isLeaf()) {
                    sb.append("{");
                    getQueryTreeNodeData(sb, node);
                    sb.append("}");
                } else {
                    sb.append("{");
                    getQueryTreeNodeData(sb, node);
                    sb.append(",children:");
                    sb.append(getJsonString(node.getChildren()));
                    sb.append("}");
                }
            }
            sb.append("]");
        }
        return sb.toString();
    }

    /**
     * 将本节点的信息写到sb中.
     * 
     * @param sb
     * @param node
     */
    private static void getQueryTreeNodeData(StringBuffer sb, UserProjWorkloadQueryTreeNode node) {
        List<WorkloadRecord> attributes = node.getAttributes();
        for (WorkloadRecord record : attributes) {
            sb.append("\"").append(record.getRecordTitle()).append("\":\"").append(record.getDisplayString()).append(
                    "\",");
        }
        sb.append("\"id\":").append("\"").append(node.getId()).append("\",");
        sb.append("\"entityId\":").append(node.getEntityId()).append(",");
        sb.append("\"uiProvider\":").append("\"").append(node.getUiProvider()).append("\",");
        sb.append("\"leaf\":").append(node.isLeaf()).append(",");
        sb.append("\"task\":").append("\"").append(node.getIconCls()).append("\",");
        sb.append("\"href\":").append("\"").append(node.getHref()).append("\",");
        sb.append("\"type\":").append("\"").append(node.getType()).append("\",");
        sb.append("\"hrefTarget\":").append("\"").append(node.getHrefTarget()).append("\",");
        sb.append("\"singleClickExpand\":").append(node.isSingleClickExpand());
    }

}
分享到:
评论

相关推荐

    模仿json,根据对象生成json字符串,根据字符串生成对象

    本文将深入探讨如何模仿JSON,根据对象生成JSON字符串,以及如何根据JSON字符串反向生成对象。 首先,我们要理解JSON的基本结构。一个JSON对象以大括号`{}`包围,其内部由键值对组成,键用双引号`""`包裹,值可以是...

    由php对象生成json字符串 把php对象变成json字符串.zip

    在这个例子中,我们创建了一个关联数组,然后使用json_encode()将其转换为JSON字符串。结果将是: ```json { "name": "John Doe", "age": 30, "city": "New York" } ``` 如果你需要处理的对象是PHP类的实例,...

    C语言JSON字符串生成代码

    C语言JSON字符串生成代码 C语言JSON字符串生成代码 C语言JSON字符串生成代码 C语言JSON字符串生成代码 C语言JSON字符串生成代码 C语言JSON字符串生成代码 C语言JSON字符串生成代码 C语言JSON字符串生成代码 C语言...

    Pbjson字符串生成与解析

    本文将深入探讨Pbjson的使用方法、原理以及它如何处理Json字符串的生成与解析。 首先,让我们了解一下什么是protobuf。Protocol Buffers是Google推出的一种数据序列化协议,它允许我们将结构化数据序列化为二进制...

    json字符串转换c++类对象

    首先,我们需要一个库来解析JSON字符串。在C++中,有许多流行的JSON库可供选择,例如nlohmann/json、jsoncpp、RapidJSON等。这里我们以nlohmann/json为例,这是一个非常流行且易用的C++11/C++14/C++17 JSON库。 1. ...

    经典ASP读取JSON字符串/生成JSON对象,数组对象等。

    这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...

    Json字符串生成工具.zip

    例如,如果你需要处理大量的数据库记录,可以创建一个类来映射数据库表,然后批量生成JSON。如果需要处理复杂的数据结构,如嵌套的对象或数组,可以通过递归或循环实现。 5. 效率提升 用工具代替人工生成JSON,...

    C#winform程序生成JSON字符串和解析字符串demo.rar

    用C#开发的winform程序demo,程序代码通过示例,告诉如何生成一个JSON字符串,然后如何对这个刚才生成的JSON字符串,进行解析。程序可以是我实际开发项目中使用到的,此demo是一个完整的程序,可以在VS中打开,运行...

    java对象转换为json字符串或字符串数组

    如果你需要将多个对象转换为一个JSON字符串数组,可以这样做: ```java List&lt;Person&gt; people = new ArrayList(); people.add(person1); people.add(person2); JSONArray jsonArray = JSONArray.fromObject...

    Json字符串生成实体对象工具

    "Json字符串生成实体对象工具"是一个实用的开发辅助工具,它能够帮助程序员快速地从JSON字符串创建对应的C#实体类。这个工具的核心功能是将JSON格式的数据转换为C#中的类结构,从而简化了数据处理的过程。通常,手动...

    C++对象生成json字符串、json字符串解析为C++对象、json字符串文件保存于读取源代码jsontest.rar

    封装jsonbase类,抽象C++对象与json字符的转换的基本方法tojson、fromjson,以及json字符保存为文件StyledStreamWriter,从文件中读取json字符串并转换成C++对象fromFile。以学生类、学生选择的课程类、最终生成的...

    C语言json字符串的生成与解析

    - 生成JSON字符串则需要反向操作,将C的数据结构转换为JSON格式。这通常涉及调用一系列函数,如json_object_new_object()、json_object_new_string()等,构建JSON对象,然后使用json_object_to_json_string()生成...

    Oracle JSON 字符串处理实例

    在这个例子中,我们解析了一个包含员工信息的JSON字符串,`$.employees[*]`指定了遍历`employees`数组中的所有对象,`name`和`age`列对应于JSON对象中的字段。 Oracle还提供了`GET_JSON_OBJECT`和`GET_JSON_ELEMENT...

    C++解析json字符串

    C++作为一款强大的系统编程语言,虽然原生并不支持JSON解析,但有多种库可以用来处理JSON字符串。本主题将深入探讨如何在C++中解析JSON字符串,主要涉及以下几个知识点: 1. **JSON基本结构**:JSON数据由键值对...

    C语言检测字符串是否为json字符串

    在进行数据交互时,我们常常需要检查一个字符串是否符合JSON的格式规范,这就是`C语言检测字符串是否为json字符串`这个主题所关注的问题。 C语言本身并不直接支持JSON解析,因此我们需要借助第三方库或者自定义函数...

    json字符串转化为list泛型

    假设我们有一个JSON字符串,其中包含一个数组,我们希望将其转化为一个List对象。例如,有这样一个JSON字符串: ```json [ {"name": "John", "age": 30}, {"name": "Jane", "age": 25} ] ``` 我们想要将这个字符...

    java转json串的几种方法

    当我们有一个Java对象,例如一个User类,包含name和age属性,我们可以直接使用Fastjson将其转换为JSON字符串。首先,确保你的项目中已经引入了Fastjson的依赖。然后,可以使用`JSON.toJSONString(obj)`方法,其中`...

    java解析Json字符串

    例如,如果你有一个User类,你可以轻松地将其对象转换为Json字符串: ```java import com.google.gson.Gson; class User { String name; int age; // 构造函数、getter和setter省略 } User user = new User()...

    C实现的 json格式字符串与结构体转化

    3. 结构体转为JSON:反向操作,将结构体的值填充到`cJSON`对象中,然后生成JSON字符串。 ```c cJSON* json_obj = cJSON_CreateObject(); cJSON_AddStringToObject(json_obj, "name", person-&gt;name); cJSON_...

Global site tag (gtag.js) - Google Analytics