Zon-cpp Ответов: 1

Wstring в заголовочных файлах rapidjson


Привет,
Я использовал заголовочные файлы rpidjson в своем проекте VC++ (MFC) для анализа строк json.
Я использовал эту ссылку:
GitHub - Tencent/rapidjson: быстрый парсер/генератор JSON для C++ с обоими API стиля SAX/DOM[^]

Моя проблема-символы юникода.
Я должен установить свой VC Porject setting на "Use Unicode character set" и json strings containe Unicode characters . Поэтому я использую std::wstring для присвоения строк json.

Но все заголовочные файлы rapidjson работают с std::string и его функциями.
Есть ли еще заголовочные файлы, которые работают с std::wstring? (что это за связь?)

Что я уже пробовал:

Я хочу, чтобы заголовочные файлы rapidjson работали только с символами unicode (wstring)

1 Ответов

Рейтинг:
7

manojmanpal1

Я не думаю, что есть необходимость в альтернативных заголовочных файлах. Я могу заставить его работать так, как предписано в документации RapidJSON - http://rapidjson.org/md_doc_encoding.html.
wstring(wchar_t) - это UTF16 в windows, поэтому я могу использовать typedef. Вот пример кода:

typedef GenericDocument<UTF16<> > WDocument;
WDocument document;
document.SetObject();
rapidjson::Document::AllocatorType& allocator = document.GetAllocator();
document.AddMember(L"hellooo", 1, allocator);
document[L"hellooo"].SetString(L"rapidjson");