JSON::FromString
Version
Minimum Origin Version Required: Origin 2017 SR0
Description
Parse a string as JSON and transform it to a struct/class object
Syntax
BOOL FromString( ClassObject data, LPCSTR str, DWORD dwJSONLOAD = 0 )
BOOL FromString( vectorbase & data, LPCSTR str )
Parameters
- data
- [output]Reference to a struct/class object
- str
- [input]Stringified JSON string from given object
- dwJSONLOAD
-
[input]Additional options for loading JSON string
- JSONLOAD_ODE_SHORTENED = 0x00010000
- JSONLOAD_ODE_PREPARE_FOR_IMPORT = 0x00020000
- data
- [output]vector to accept Javascript array
- str
- [input]Stringified JSON string from given object
Return
TRUE on success, FALSE on failure
Examples
EX1
void FromString_ex()
{
string strJSON = "{\"left\":12,\"right\":34,\"top\":56,\"bottom\":78}";
RECT rect;
JSON.FromString(rect, strJSON);
Tree tr;
if(JSON.FromString(tr, strJSON))
out_tree(tr);
else
out_str("Err");
}
EX2
void TestJSON_vector()
{
vector<string> vs1;
vs1.Add("hello1");
vs1.Add("hello2");
vs1.Add("hello3");
string strvs1;
OCJSONToString param;
param.dwFlags = JSONToStringFlagsDisableIndentation;
JSON.ToString(vs1, strvs1, ¶m);
string strvd1;
vector<double> vd1;
vd1.Add(3.14);
vd1.Add(1024);
vd1.Add(-3687.3645);
JSON.ToString(vd1, strvd1, ¶m);
string strvs2 = "[\"hello1\",\"hello2\",\"hello3\"]";
vector<string> vs2;
JSON.FromString(vs2, strvs2);
string strvd2 = "[3.1400000000000001,1024,-3687.3645000000001]";
vector<double> vd2;
JSON.FromString(vd2, strvd2);
if (strvs1 != strvs2)
printf("strvs1 != strvs2");
if (strvd1 != strvd2)
printf("strvd1 != strvd2");
Worksheet wks;
wks.Create("Origin");
Dataset dsA(wks, 0);
string strds1 = "[314.56, -963, 6317, 8]";
JSON.FromString(dsA, strds1);
string strds2;
JSON.ToString(dsA, strds2);
}
Remark
See Also
- JSON::ToString
- okutil_http_get
header to Included
origin.h
|