日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

rapidjson 嵌套json_[整理][RapidJson用法2]C++之RapidJson创建嵌套数组json | 勤奋的小青蛙...

發(fā)布時(shí)間:2025/3/8 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rapidjson 嵌套json_[整理][RapidJson用法2]C++之RapidJson创建嵌套数组json | 勤奋的小青蛙... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上篇博文里我通過(guò)RapidJson解析了嵌套的json文本,那么本文章是RapidJson創(chuàng)建嵌套數(shù)組Json文本。

代碼:

#include "rapidjson/document.h"

#include "rapidjson/writer.h"

#include "rapidjson/stringbuffer.h"

#include

using namespace rapidjson;

int main() {

// 1. Parse a JSON string into DOM.

const char* json ="{\"Info\":[{\"lots\":10,\"order_algorithm\":\"01\",\"buy_close\":9000,\"spread_shift\":0,\"position_b_sell\":0,\"position_a_buy_today\":0,\"position_a_buy_yesterday\":0,\"sell_open\":-9000,\"list_instrument_id\":[\"rb1705\",\"rb1701\"],\"position_b_buy_today\":0,\"buy_open\":-9000,\"position_a_sell_yesterday\":0,\"strategy_id\":\"02\",\"position_b_buy\":0,\"a_wait_price_tick\":1,\"trade_model\":\"boll_reversion\",\"b_wait_price_tick\":0,\"sell_close\":9000,\"only_close\":0,\"order_action_limit\":400,\"is_active\":1,\"lots_batch\":1,\"position_a_sell\":0,\"position_b_buy_yesterday\":0,\"user_id\":\"063802\",\"position_a_buy\":0,\"trader_id\":\"1601\",\"position_a_sell_today\":0,\"stop_loss\":0,\"position_b_sell_today\":0,\"position_b_sell_yesterday\":0,\"on_off\":0},{\"lots\":20,\"order_algorithm\":\"02\",\"buy_close\":9000,\"spread_shift\":0,\"position_b_sell\":0,\"position_a_buy_today\":0,\"position_a_buy_yesterday\":0,\"sell_open\":-9000,\"list_instrument_id\":[\"ni1705\",\"ni1701\"],\"position_b_buy_today\":0,\"buy_open\":-9000,\"position_a_sell_yesterday\":0,\"strategy_id\":\"01\",\"position_b_buy\":0,\"a_wait_price_tick\":1,\"trade_model\":\"boll_reversion\",\"b_wait_price_tick\":0,\"sell_close\":9000,\"only_close\":0,\"order_action_limit\":400,\"is_active\":1,\"lots_batch\":1,\"position_a_sell\":0,\"position_b_buy_yesterday\":0,\"user_id\":\"063802\",\"position_a_buy\":0,\"trader_id\":\"1601\",\"position_a_sell_today\":0,\"stop_loss\":0,\"position_b_sell_today\":0,\"position_b_sell_yesterday\":0,\"on_off\":0}],\"MsgSendFlag\":0,\"MsgErrorReason\":\"IDorpassworderror\",\"MsgRef\":1,\"MsgType\":3,\"MsgResult\":0}";

//std::cout << json << std::endl;

//std::cout << "\n" << std::endl;

std::cout << "|==================|" << std::endl;

std::cout << "||rapidjson output||" << std::endl;

std::cout << "|==================|" << std::endl;

Document doc;

doc.SetObject();

rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();

doc.AddMember("MsgSendFlag", 1, allocator);

doc.AddMember("MsgErrorReason", "IDorpassworderror", allocator);

doc.AddMember("MsgRef", 1, allocator);

rapidjson::Value info_array(rapidjson::kArrayType);

for (int i = 0; i < 2; i++) {

rapidjson::Value info_object(rapidjson::kObjectType);

info_object.SetObject();

info_object.AddMember("lots", 10 + i, allocator);

info_object.AddMember("order_algorithm", "01", allocator);

rapidjson::Value instrument_array(rapidjson::kArrayType);

for (int j = 0; j < 2; j++) {

rapidjson::Value instrument_object(rapidjson::kObjectType);

instrument_object.SetObject();

instrument_object.SetString("cu1701");

instrument_array.PushBack(instrument_object, allocator);

}

info_object.AddMember("list_instrument_id", instrument_array, allocator);

info_array.PushBack(info_object, allocator);

}

doc.AddMember("Info", info_array, allocator);

// 3. Stringify the DOM

StringBuffer buffer;

Writer writer(buffer);

doc.Accept(writer);

std::cout << buffer.GetString() << std::endl;

return 0;

}

運(yùn)行效果所創(chuàng)建的JSON文本為:

{

"MsgSendFlag": 1,

"MsgErrorReason": "IDorpassworderror",

"MsgRef": 1,

"Info": [

{

"lots": 10,

"order_algorithm": "01",

"list_instrument_id": [

"cu1701",

"cu1701"

]

},

{

"lots": 11,

"order_algorithm": "01",

"list_instrument_id": [

"cu1701",

"cu1701"

]

}

]

}

其JSON格式化視圖如下:

文章的腳注信息由WordPress的wp-posturl插件自動(dòng)生成

|2|left

打賞

微信掃一掃,打賞作者吧~

總結(jié)

以上是生活随笔為你收集整理的rapidjson 嵌套json_[整理][RapidJson用法2]C++之RapidJson创建嵌套数组json | 勤奋的小青蛙...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。