{
"tables" : {
"baseTable" : "CRM_R_HYDJZB",
"fk" : "ZRS",
"order" : "HYJB,RS",
"pk" : "SHOP_NAME",
"valuefield" : "SHOP_NAME"
},
"where" : [
{
"andor" : "or",
"fieldType" : "NUMBER",
"leftBracket" : "(",
"leftField" : "SHOP_ID",
"leftTable" : "CRM_R_HYDJZB",
"operator" : "=",
"param" : "e",
"paramType" : "FIELD",
"rightBracket" : ")",
"rightTableName" : ")"
}
]
}
首先是读入
unicodestring Jsonstr
Value jsonDoc;
Json::Reader reader;
reader.parse(AnsiString(Jsonstr).c_str(), jsonDoc);
Value & where = jsonDoc["where"];
ShowWhere(where);
下面是在cxtreelist里显示
void ShowWhere(Value & where) {
if (where.isNull()) {
return;
}
int count = where.size();
for (int i = 0; i < count; i++) {
Value & expression = where[i];
TcxTreeListNode * node = this->cxTreeListWhere->Add();
node->Texts[0] = expression["leftBracket"].asCString();
node->Texts[1] = expression["leftTable"].asCString();
node->Texts[2] = expression["leftField"].asCString();
node->Texts[3] = expression["fieldType"].asCString();
node->Texts[4] = expression["operator"].asCString();
node->Texts[5] = expression["paramType"].asCString();
node->Texts[6] = expression["rightTableName"].asCString();
node->Texts[7] = expression["param"].asCString();
node->Values[8] = expression["andor"].asString() == "and";
node->Texts[9] = expression["rightBracket"].asCString();
}
}
下面是写入
Value jsonDoc;
string result="";
int i=0;
if (cxTreeListWhere->AbsoluteVisibleCount!=0){
Value where;
SetWhere(where);
jsonDoc["where"] = where;
i++;
}
if (i>0){
Json::StyledWriter writer;
result = writer.write(jsonDoc);
TFileStream * file = new TFileStream("d:\\sessionset.txt",
fmOpenWrite | fmCreate);
file->Write(result.c_str(), result.length());
delete file;
}
output=(result).c_str();
读取cxtreelist里的值
void SetWhere(Json::Value & where) {
TcxTreeListNode *node = this->cxTreeListWhere->Root->getFirstChild();
while (node) {
Value expression;
expression["leftBracket"] = AnsiString(node->Texts[0]).c_str();
expression["leftTable"] = AnsiString(node->Texts[1]).c_str();
expression["leftField"] = AnsiString(node->Texts[2]).c_str();
expression["fieldType"] = AnsiString(node->Texts[3]).c_str();
expression["operator"] = AnsiString(node->Texts[4]).c_str();
expression["paramType"] = AnsiString(node->Texts[5]).c_str();
expression["rightTableName"] = AnsiString(node->Texts[6]).c_str();
expression["param"] = AnsiString(node->Texts[7]).c_str();
expression["andor"] = node->Values[8].vt != VT_NULL && node->Values[8]
.operator bool() ? "and" : "or";
expression["rightBracket"] = AnsiString(node->Texts[9]).c_str();
where.append(expression);
node = node->getNextSibling();
}
}
分享到:
相关推荐
Gson的使用方式相对简单,如下所示: ```java Gson gson = new Gson(); String jsonString = gson.toJson(yourJavaObject); YourJavaClass yourObject = gson.fromJson(jsonString, YourJavaClass.class); ```...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript、Perl、Python等)的习惯,这使得JSON成为理想的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,设计简单易读,同时也易于机器解析和生成。由于其简洁和高效,JSON已经成为互联网上最常用的数据交换格式之一,尤其在...
Newtonsoft.Json库提供了一整套强大的JSON操作工具,无论是简单的对象转换还是复杂的序列化需求,都能应对自如。熟练掌握这些功能将极大地提高C#项目中处理JSON数据的效率和灵活性。在实际开发中,应根据具体需求...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,设计简单易读且易于编写。在IT行业中,JSON被广泛应用于Web服务与客户端之间的数据交互,因为它的结构清晰,易于解析...
在提供的`JSONObjectDemo`文件中,可能包含了一个简单的示例,演示了如何使用jQuery处理JSON数据。这个示例可能包括创建JavaScript对象,序列化成JSON字符串,以及使用Ajax发送和接收JSON数据的代码。读者可以通过...
### JSON 教程 (Java 与 JSON 的使用) #### JSON 的基本概念 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于一种文本形式的数据表示方式,旨在简化数据传输并提高效率。JSON 与 XML 类似...
例如,创建一个简单的JSON数据在GWT客户端: ```java JSONObject input = new JSONObject(); JSONString value = new JSONString("mazhao"); input.put("name", value); ``` 这将创建一个JSON对象`{name: "mazhao"}`...
本篇将基于提供的“vb json 简单事例”介绍如何在VB环境中解析和序列化JSON。 1. **JSON基础知识**:JSON是一种独立于语言的数据表示方式,其结构由键值对(key-value pairs)组成,通常以对象(objects)和数组...
在“JSON简单使用”这个主题中,我们可能涉及以下几个知识点: 1. JSON基本语法:包括对象和数组的定义,以及不同数据类型的表示。 2. JSON与JavaScript对象的转换:如何在JavaScript中使用`JSON.parse()`和`JSON....
以下是一个简单的示例,展示如何使用GSON进行JSON的序列化和反序列化: ```java import com.google.gson.Gson; public class Main { public static void main(String[] args) { // 创建Person对象 Person ...
在实际应用中,开发者可以使用这样的工具或库,通过简单的API调用来实现JSON到JSON Schema的转换,从而提高数据处理的可靠性和安全性。例如,如果你正在开发一个Web应用,你可以先将用户提交的JSON数据转换为JSON ...
在这个"Json 使用简单实例(VC)"中,我们将探讨如何在Visual C++(VC)环境下使用JSON。 首先,为了在VC(如VS2008)中处理JSON,我们需要一个JSON库。常见的C++ JSON库有RapidJSON、nlohmann/json、jsoncpp等。在...
而org.json库则提供了一个简单的API,适用于轻量级的JSON操作。 2. **Python** Python的标准库中已经包含了`json`模块,可以直接使用,无需额外安装。它提供了解析、生成、编码和解码JSON数据的功能。如果你需要更...
“jsonView使用说明.doc”提供的是一份关于如何使用jsonView.exe这个JSON查看器的简单指南。下面将详细介绍jsonView的主要功能和使用步骤: 1. **启动jsonView.exe** 首先,你需要下载并安装jsonView工具。安装...
使用Gson,只需简单地调用`Gson().toJson()`和`Gson().fromJson()`方法即可。 3. **org.json**:这个库提供了简单的API来创建和解析JSON。虽然不如Jackson和Gson功能强大,但它足够轻量级,适合一些简单的JSON操作...
JSON 文件的格式非常简单,易于学习和使用,因此逐渐取代了 XML 成为互联网上最受欢迎的数据交换格式。 JSON 文件的优点包括: 1. 轻量级:JSON 文件的体积非常小,占用服务器资源少,传输速度快。 2. 易读易写:...
MJExtension提供了快速的字典转模型和模型转字典的方法,适用于简单的数据转换场景,或者当你不想使用JSONModel时。 MVVM是近年来逐渐流行的另一种设计模式,特别是在React Native和Xamarin等跨平台框架中。MVVM...
- **注意事项**:适用于创建简单的JSON结构。 - **`json_pack_ex`** 和 **`json_vpack_ex`**:这两个函数与`json_pack`类似,但提供了更高级的功能,如错误处理等。函数原型分别为`json_t*json_pack_ex(json_error...
### json-taglib 使用方法详解 #### 一、简介 json-taglib 是一款针对Java Web应用设计的标签库,主要用于在JSP页面中生成JSON格式的数据。通过简单的标签语句即可实现JSON对象及数组的构建,大大简化了JSON数据的...