2015-04-21 2 views
0

Я знаю, что есть JSON-синтаксические анализаторы, но это кажется настолько простым, что я мог бы сделать подход с diy.Вставить строки в шаблон JSON

std::string item_name 
std::string item_address 

itemname = "John"; 
item_address = "New York"; 

{"item": {"name": "std::cout << item_name", "address": "std::cout << item_address"}} 

Я хочу иметь жесткий шаблон JSON, в который я вставляю свои значения. Вышеприведенный подход кажется неправильным.

Должен ли я использовать шаблоны? Может ли кто-нибудь сказать мне, как я могу начать что-то подобное, пожалуйста?

ответ

2

Вы имеете в виду вот это?

std::cout << "{'item': {'name': '" << item_name << 
    "', 'address': '" << item_address << "'}}"; 

Это немного уродливо, если не сказать больше. Вместо этого используйте вместо этого boost::format.

Demo с буст :: Формат:

std::string result = str(
    boost::format("{'item': {'name': '%1%', 'address': '%2%'}}") 
    % item_name % item_address); 
+0

Благодарим за ответ. Я мог бы использовать boost, хотя я бы предпочел подход, который не требовал его – Jimmy

+0

К сожалению, регулярные потоки, вероятно, лучше всего подходят вам. – slaphappy

1

Если вы не боитесь использовать библиотеку, вы можете рассмотреть mustache. Это, конечно, очень мощный, возможно, чуть более ...

+0

Спасибо за ответ. Разве нет чистого и простого способа использовать его в lib? Я предпочел бы избегать libs, где это возможно – Jimmy

Смежные вопросы