У меня был случай, когда мне нужно было удалить префикс u, потому что я настраивал javascript с помощью python как часть html-шаблона. Простой выход оставил префикс u для ключей dict, например
var turns = [{u'armies':2...];
, который разбивает javascript.
Чтобы получить необходимый javascript, я использовал модуль json python для закодируйте строку для меня:
turns = json.dumps(turns)
Это делает трюк в моем конкретном случае, и поскольку все клавиши все ascii, нет никакого беспокойства по поводу кодировки. Возможно, вы использовали этот трюк для вывода отладки.
https://github.com/xyz347/x2struct может загружать json в clsss или преобразовывать класс в json.
код:
#include <iostream>
#include <map>
#include "x2struct/x2struct.hpp"
using namespace std;
struct Info {
string imie;
string nazwisko;
string email;
string haslo;
XTOSTRUCT(O(imie, nazwisko, email, haslo));
};
int main(int argc, char *argv[]) {
map<string, Info> m;
x2struct::X::loadjson("a.json", m, true);
for (map<string, Info>::const_iterator it=m.begin(); it!=m.end(); it++) {
cout<<it->first<<endl;
cout<<'\t'<<it->second.imie<<endl;
cout<<'\t'<<it->second.nazwisko<<endl;
cout<<'\t'<<it->second.email<<endl;
cout<<'\t'<<it->second.haslo<<endl;
}
}
вывод:
opiekun1
Maksym
Zawrotny
maksym@wp.pl
herbatka
opiekun2
Filip
Szatkowski
filip@wp.pl
kawusia