I ended up hacking my way around it. It seems like Unreal’s Json converter can’t handle arrays atm. This is what I ended up doing;
TArray<FString> serverListSplit;
FString left, right, current;
current = someServers;
current.RemoveFromStart("["); current.RemoveFromEnd("]");
while (current.Split("}", &left, &right))
{
left += "}";
right.RemoveFromStart(",");
current = right;
serverListSplit.Add(left);
}
TArray<FWServer> servers;
for (int i = 0; i < serverListSplit.Num(); ++i)
{
TSharedPtr<FJsonObject> JsonParsed = MakeShareable(new FJsonObject());
TSharedRef<TJsonReader<TCHAR>> JsonReader = TJsonReaderFactory<TCHAR>::Create(serverListSplit[i]);
if (FJsonSerializer::Deserialize(JsonReader, JsonParsed))
{
auto item = JsonParsed;
FWServer s = FWServer();
s.mIpAddress = item->GetStringField("ipAddress");
s.mPort = item->GetNumberField("Port");
s.mServerName = item->GetStringField("ServerName");
}
}