mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 10:16:24 +02:00
Use WinRT JSON parser instead of custom cpprestsdk solution (#822)
This commit is contained in:
26
src/common/json.cpp
Normal file
26
src/common/json.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "pch.h"
|
||||
#include "json.h"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
namespace json
|
||||
{
|
||||
std::optional<JsonObject> from_file(std::wstring_view file_name)
|
||||
{
|
||||
try
|
||||
{
|
||||
std::wifstream file(file_name.data(), std::ios::binary);
|
||||
using isbi = std::istreambuf_iterator<wchar_t>;
|
||||
return JsonValue::Parse(std::wstring{isbi{file}, isbi{}}).GetObjectW();
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
return std::nullopt;
|
||||
}
|
||||
}
|
||||
|
||||
void to_file(std::wstring_view file_name, const JsonObject & obj)
|
||||
{
|
||||
std::wofstream{file_name.data(), std::ios::binary} << obj.Stringify().c_str();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user