Help Center

JsonWriter.ValueSafeArraymethod

Serializes a 1‑D SAFEARRAY as JSON array with smart inline vs pretty layout.

WebViewmethoddocumented

Syntax

SUB ValueSafeArray (BYREF sa AS DSafeArray)

Description

Serializes a 1‑D SAFEARRAY as JSON array with smart inline vs pretty layout.

Escapes VT_BSTR directly; otherwise serializes each element with ValueVariant.

Examples

#include once "AfxNova/AfxJson.inc" USING AfxNova

DIM dvArr AS DSafeArray dvArr.Create(VT_VARIANT, 3, 0) dvArr.PutVar(0, DVARIANT("first ??")) dvArr.PutVar(1, DVARIANT(42)) dvArr.PutVar(2, DVARIANT(3.14159)) DIM jw AS JsonWriter jw.SetIndentSize(2) ' 2-space indent jw.BeginObject() jw.Name("title") : jw.Value("Test") jw.Name("data") : jw.ValueSafeArray(dvArr) jw.EndObject() PRINT jw.ToBString()

' Outout: { "title": "Test", "data": [

"first",
42,
3.14159

] }

#include once "AfxNova/AfxJson.inc" USING AfxNova

DIM tiny AS DSafeArray tiny.Create(VT_VARIANT, 3, 0) tiny.PutVar(0, DVARIANT(1)) tiny.PutVar(1, DVARIANT(2)) tiny.PutVar(2, DVARIANT(3)) DIM jw As JsonWriter jw.SetIndentSize(2) jw.SetInlineThreshold(20) ' tighten threshold jw.BeginObject() jw.Name("a") : jw.ValueSafeArray(tiny) jw.Name("b") : jw.Value("longer text here will break inline") jw.EndObject()

Output: { "a": [ 1, 2, 3 ], "b": "longer text here will break inline" }

SAFEARRAY serialization with inline suppression.

Reference