add Json::array & Json::object function
This commit is contained in:
parent
6733757d09
commit
549df3df58
|
|
@ -1907,7 +1907,7 @@ namespace easy2d
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
basic_json(initializer_list init_list)
|
basic_json(initializer_list const& init_list)
|
||||||
{
|
{
|
||||||
bool is_an_object = std::all_of(init_list.begin(), init_list.end(), [](const basic_json& json)
|
bool is_an_object = std::all_of(init_list.begin(), init_list.end(), [](const basic_json& json)
|
||||||
{
|
{
|
||||||
|
|
@ -1934,6 +1934,32 @@ namespace easy2d
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline basic_json object(initializer_list const& init_list)
|
||||||
|
{
|
||||||
|
if (init_list.size() != 2 || !(*init_list.begin()).is_string())
|
||||||
|
{
|
||||||
|
throw json_type_error("cannot create object from initializer_list");
|
||||||
|
}
|
||||||
|
|
||||||
|
basic_json json;
|
||||||
|
json.value_ = JsonType::Object;
|
||||||
|
json.value_.data.object->emplace(*((*init_list.begin()).value_.data.string), *(init_list.begin() + 1));
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline basic_json array(initializer_list const& init_list)
|
||||||
|
{
|
||||||
|
basic_json json;
|
||||||
|
json.value_ = JsonType::Array;
|
||||||
|
|
||||||
|
if (init_list.size())
|
||||||
|
{
|
||||||
|
json.value_.data.vector->reserve(init_list.size());
|
||||||
|
json.value_.data.vector->assign(init_list.begin(), init_list.end());
|
||||||
|
}
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
inline bool is_object() const { return value_.type == JsonType::Object; }
|
inline bool is_object() const { return value_.type == JsonType::Object; }
|
||||||
|
|
||||||
inline bool is_array() const { return value_.type == JsonType::Array; }
|
inline bool is_array() const { return value_.type == JsonType::Array; }
|
||||||
|
|
|
||||||
|
|
@ -87,12 +87,12 @@ public:
|
||||||
|
|
||||||
// 创建 JSON 格式的 POST 数据
|
// 创建 JSON 格式的 POST 数据
|
||||||
Json request_data = {
|
Json request_data = {
|
||||||
{"string", "testÖÐÎÄ"},
|
{ "string", "testÖÐÎÄ" },
|
||||||
{"boolean", true},
|
{ "boolean", true },
|
||||||
{"integer", 12},
|
{ "integer", 12 },
|
||||||
{"float", 3.125},
|
{ "float", 3.125 },
|
||||||
{"array", {1, 2, 3, 4, 4.5 }},
|
{ "array", { 1, 2, 3, 4, 4.5 } },
|
||||||
{"object", {"key", "value"}},
|
{ "object", { "key", "value" } },
|
||||||
};
|
};
|
||||||
|
|
||||||
HttpRequestPtr request = new HttpRequest;
|
HttpRequestPtr request = new HttpRequest;
|
||||||
|
|
@ -111,9 +111,7 @@ public:
|
||||||
Logger::Instance().Println(L"Start to send PUT request...");
|
Logger::Instance().Println(L"Start to send PUT request...");
|
||||||
|
|
||||||
// 创建 JSON 格式的 PUT 数据
|
// 创建 JSON 格式的 PUT 数据
|
||||||
Json request_data = {
|
Json request_data = Json::array({ 1, 2, 3 });
|
||||||
{"user", {{"id", 1}, {"phone", "12345678"}}},
|
|
||||||
};
|
|
||||||
|
|
||||||
HttpRequestPtr request = new HttpRequest;
|
HttpRequestPtr request = new HttpRequest;
|
||||||
request->SetUrl(L"http://httpbin.org/put");
|
request->SetUrl(L"http://httpbin.org/put");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue