maaGames
@maaGames
Погроммирую программы

Как преобразовать из WebView2 json в строку?

На Win7/Win8 не создаётся интерфейс ICoreWebView2_21 и результат работы скрипта возвращается в виде контента json-строки. То есть тело документа преобразовано в строку, которая может быть сохранена в json объекте как строка. Это возвращаемое значение надо преобразовать в обычную строку. В актуальной версии это делается через ICoreWebView2ExecuteScriptResult::TryGetResultAsString, но в базовом интерфейсе возвращается "сырая" строка. Во всяких бейсиках и шарпах вызывается метод deserialize, заменяющий escape-последовательности.
Есть ли подобный функционал в WebView2 для С++? Раз оно делается внутри WebView2, то такой функционал есть, но вот можно ли его использовать самостоятельно?

wil::com_ptr<ICoreWebView2_21> webView = m_webView.try_query<ICoreWebView2_21>();
	if( webView )
	{
		HRESULT hr = webView->ExecuteScriptWithResult( L"document.body.outerHTML;", Callback<ICoreWebView2ExecuteScriptWithResultCompletedHandler>( this, &Dlg::ExecuteScriptComplete ).Get() );
	}
	else
	{
		AfxMessageBox( L"try_query<ICoreWebView2_21> == null" );

		HRESULT hr = m_webView->ExecuteScript( L"document.body.outerHTML;", Callback < ICoreWebView2ExecuteScriptCompletedHandler>( this, &Dlg::ExScriptComplete ).Get() );
	}
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы