Creating a json::value from a json string

I have a string
"{
"username": "xyz",
"password": "abc"
}"
How can I convert it to json::value? I found a way wherein I create a http_response with content-type "application/json" and body as the above string and then use the function extract_json. But surely there has to be a simpler way?

I am escaping the "" characters at the start and the end. Also I tried using the conversion example.
json::value x;
x.parse(utility::conversions::to_string_t(MY_JSON));
where MY_JSON is the above std::string but I still can't recreate the json::value. It fails to iterate.

Note: parse() is a static function, so its intended use is as a factory, not a manipulator.

BTW, a more efficient way to deal with strings is to use the platform-native string type, utility::string_t. This is std::wstring on Windows and std::string on Linux. The only complication is string literals, for which we have a macro to give the platform-native
result. This allows you to avoid unnecessary runtime conversions of strings: