I have a JSON string coming from an API that I want to feed into a USTRUCT to access the data and perform operations based on the data later.
In Unity I am able to parse the JSON String easily into a container like this :
public Dictionary<string, Dictionary<string, double]>> SettingsPerOrganization { get; set; }
Problem is Unreal Engine does not supports nested containers, so I am unable to parse all data in a similar struct like above with the below code :
FJsonObjectConverter::JsonObjectStringToUStruct(jsonString, &settingsResponseStruct, 0, 0);
Here is the sample JSON string :
{
"message": "Success",
"result": {
"settings": {
"settingsPerOrganization": {
"o_QVdtUks0RkQtTkotVmZMQmF2am4=": {
"p_QVdtUk5lZkstTkotVmZMQmF2anM=":
16.501722462752205,
80.4483731249899,
13.125373840332031
],
"p_QVdtUk5ia2NaaHZVZWZ5VkxNNEk=":
16.57162381385302,
80.31361184667094,
15.995080947875977
],
"p_QVdwekVaeUZaaHZVZWZ5VkxONzI=":
16.527169180932326,
80.49053585008252,
14.214865684509277
]
},
"o_QVY2cTMyUHZka1hyd185Q3Z3QTg=": {
"p_QVdkekViU09NaEJlbGJkYTVMbnQ=":
28.369053770071247,
77.3754962913513,
8.374844551086426
],
"p_QVd1SlEtY0ZrZkpLSk0tRWF3ODA=":
1.3021882099881477,
103.83580351314065,
12.87491512298584
],
"p_QVd1VHFUb0QwOEVXaWw0d2lDRTY=":
6.365862004186035,
-3.777785427283305,
7.044849872589111
],
"p_QVdxbG9oLVMwOEVXaWw0d2lCT0M=":
41.01870944998139,
-73.81841922583119,
7.425075054168701
],
"p_QVd3OXl1dFFrZkpLSk0tRWF5YUE=":
24.421013253602393,
54.610854396100144,
14.064905166625977
],
"p_QVc0YjlKclk1YTlRamJHSnVjblc=":
16.5239037176696,
80.4928364391836,
14
],
"p_QVc0bkZ5VnZVVFYwdThUdEdRV3U=":
57.14792076038094,
-2.0970229868889394,
16.137773513793945
],
"p_QVdwM1gwckdaaHZVZWZ5VkxOOVE=":
24.6771252713095,
46.7003073394814,
16
]
},
"o_QVdkLV9LMjJFcHM1Mko3Qlh1UHE=": {
"p_QVdkLV9MRnBNaEJlbGJkYTVMcDA=":
52.0379079840953,
-2.06805253953321,
11
],
"p_QVd1YWtoUjB3cDI5V1J5Q3VPajE=":
51.80050094845883,
-1.0958483367530247,
11
]
}
}
}
}
}
I have tried parsing data with the following struct as seen in other examples on forums, since the object keys are not always same in json string data parsing fails.
Main Container :
UPROPERTY() TMap<FString, FStringDoubleTMap> settingsPerOrganization;
Than Supported containers struct :
USTRUCT() struct FDoubleArray { GENERATED_USTRUCT_BODY(); UPROPERTY() TArray<double> arrayType; }; USTRUCT() struct FStringDoubleTMap { GENERATED_USTRUCT_BODY(); UPROPERTY() TMap<FString, FDoubleArray> map; };
Any help or direction is appreciated.