主题
设置JSON对象中的值 - JsonSetValue
函数简介
设置JSON对象中指定键的值,支持设置任意类型的JSON值。
接口名称
JsonSetValueDLL调用
c
int JsonSetValue(long obj, string key, long value);参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| obj | 长整数型 | JSON对象句柄。 |
| key | 字符串 | 键名。 |
| value | 长整数型 | 要设置的值句柄。 |
示例
SDK 调用
cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int64_t root = ola.JsonCreateObject();
if (root != 0) {
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
int32_t strErr = 0;
std::string jsonOut = ola.JsonStringify(root, 0, &strErr);
ola.JsonFree(root);
}csharp
using OLAPlug;
var ola = new OLAPlugServer();
long root = ola.JsonCreateObject();
if (root != 0)
{
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
int strErr;
string jsonOut = ola.JsonStringify(root, 0, out strErr);
ola.JsonFree(root);
}python
from OLAPlugServer import OLAPlugServer
ola = OLAPlugServer()
root = ola.JsonCreateObject()
if root != 0:
child, _ = ola.JsonParse('{"role":"admin"}')
ola.JsonSetValue(root, "profile", child)
json_out, str_err = ola.JsonStringify(root, 0)
ola.JsonFree(root)java
import com.olaplug.OLAPlugServer;
OLAPlugServer ola = new OLAPlugServer();
long root = ola.JsonCreateObject();
if (root != 0) {
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
int strErr;
String jsonOut = ola.JsonStringify(root, 0, strErr);
ola.JsonFree(root);
}cpp
var ola = com("OlaPlug.OlaSoft")
var root = ola.JsonCreateObject()
if(root) {
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
var strErr = 0
var jsonOut = ola.JsonStringify(root, 0, strErr)
ola.JsonFree(root)
}vbscript
Set ola = CreateObject("OlaPlug.OlaSoft")
root = ola.JsonCreateObject()
If root <> 0 Then
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
strErr = 0
jsonOut = ola.JsonStringify(root, 0, strErr)
ola.JsonFree(root)
End Iftext
.局部变量 ola, OLAPlug
ola.创建 ()
root = ola.JsonCreateObject ()
.如果真 (root ≠ 0)
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
strErr = 0
jsonOut = ola.JsonStringify (root, 0, strErr)
ola.JsonFree (root)
.如果真结束aardio
import OLAPlugServer;
var ola = OLAPlugServer();
var root = ola.JsonCreateObject();
if(root){
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
var strErr = 0;
var jsonOut = ola.JsonStringify(root, 0, strErr);
ola.JsonFree(root);
}text
变量 ola <类型 = OLAPlugServer>
ola = 新建 OLAPlugServer
长整数 root = ola.JsonCreateObject()
如果真 (root ≠ 0)
{
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
整数 strErr = 0
文本型 jsonOut = ola.JsonStringify(root, 0, strErr)
ola.JsonFree(root)
}cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int64_t root = ola.JsonCreateObject();
if (root != 0) {
int32_t perr = 0;
int64_t child = ola.JsonParse("{\"role\":\"admin\"}", &perr);
ola.JsonSetValue(root, "profile", child);
int32_t strErr = 0;
std::string jsonOut = ola.JsonStringify(root, 0, &strErr);
ola.JsonFree(root);
}原生 DLL 调用
cpp
long instance = CreateCOLAPlugInterFace();
long root = JsonCreateObject(instance);
if (root != 0) {
int err = 0;
long child = JsonParse(instance, "{\"role\":\"admin\"}", &err);
JsonSetValue(instance, root, "profile", child);
long ptr = JsonStringify(instance, root, 0, 0);
if (ptr != 0) {
char buffer[512] = {0};
GetStringFromPtr(ptr, buffer, sizeof(buffer));
FreeStringPtr(ptr);
}
JsonFree(instance, root);
}csharp
long instance = CreateCOLAPlugInterFace();
long root = JsonCreateObject(instance);
if (root != 0) {
int err = 0;
long child = JsonParse(instance, "{\"role\":\"admin\"}", &err);
JsonSetValue(instance, root, "profile", child);
long ptr = JsonStringify(instance, root, 0, 0);
if (ptr != 0) {
char buffer[512] = {0};
GetStringFromPtr(ptr, buffer, sizeof(buffer));
FreeStringPtr(ptr);
}
JsonFree(instance, root);
}python
long instance = CreateCOLAPlugInterFace();
long root = JsonCreateObject(instance);
if (root != 0) {
int err = 0;
long child = JsonParse(instance, "{\"role\":\"admin\"}", &err);
JsonSetValue(instance, root, "profile", child);
long ptr = JsonStringify(instance, root, 0, 0);
if (ptr != 0) {
char buffer[512] = {0};
GetStringFromPtr(ptr, buffer, sizeof(buffer));
FreeStringPtr(ptr);
}
JsonFree(instance, root);
}返回值
| 返回值 | 说明 |
|---|---|
0 | 成功。 |
| 其他 | 错误码,失败。 |
注意事项
| 项目 | 说明 |
|---|---|
| 设置成功后 | 设置成功后,value 句柄的所有权转移给 obj,不需要单独释放。 |
| 如果 key 已存在 | 如果 key 已存在,会覆盖原有值。 |
| 支持设置对象、数组、字符串、数字等任意JSON类 | 支持设置对象、数组、字符串、数字等任意JSON类型。 |
