Skip to content

设置JSON对象中的值 - JsonSetValue

函数简介

设置JSON对象中指定键的值,支持设置任意类型的JSON值。

接口名称

JsonSetValue

DLL调用

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 If
text
.局部变量 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类型。