The solution is to create a JSON object from a string
Json.A['SnmpManagers'].Add(SO(Format('{"%s":%d}', [IpAddr, Port])));
Another way to add (do not use with .O [], because AsObject gives zero for non-existing keys):
// for a simple key-value object Json.AsObject.S['1.2.3'] := 'a'; // gives us {{"1.2.3":"a"}} Json.AsObject.S['4.5'] := 'b'; // gives us {{"1.2.3":"a"}, {"4.5":"b"}}
source share