Я готовлю функцию, которая будет возвращать значение ключа во вложенном JSON. Проблема в том, что я получаю вложенное содержимое JSON в виде строки, и это не то, что я могу изменить.
Например: {"remote": {"ip": "127.0. 0.1 "," port ": 58811}}
Содержимое" remote "является вложенным JSON, и мой код должен возвращать значение" ip ". Вверх по течению этот вложенный JSON превращается в строку и передается моей функции.
Мой код:
string sampleInputVal = "\"remote\": {\"ip\": \"127.0.0.1\", \"port\": 58811}";
map<string, string> inputMap;
inputMap.emplace("key","remote");
inputMap.emplace("nestedKey","IP");
string getValNestedJSON(string inputVal, map<string, string> inputParameters)
{
Document inputJSON;
inputJSON.Parse(inputVal.c_str());
return inputJSON[inputParameters["nestedKey"].c_str()].GetString();
}
А вы можете догадаться, sampleInputVal
- это просто то, что я использую для проверки функции, но я думаю, что escape-символы быстро портятся json потому что я получаю kParseErrorDocumentRootNotSingular.
Что мне делать?