Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2012, 17:22   #1
qip2005
Пользователь
 
Регистрация: 14.09.2008
Сообщений: 61
По умолчанию C++ JSON

Добрый день товарищи сишники.
Пишу утилу которая должна курлом получать по апи JSON строку, парсить ее и потом с этими данными уже че то делать. С курлом разобрался, с JSON как то потруднее выходит. Нагуглил вот такой ман http://blog.plaincodesource.ws/2011/...n-c-boost.html все поставил, прописал пути, подинклудил файлы, взял пример почти из мана:
Код:
#include "stdafx.h"
#include "inc/json_spirit_reader_template.h"
#include "inc/json_spirit_writer_template.h"
#include <curl/curl.h>
#include <string>
#include <iostream>
#include <conio.h>

using namespace std;
using namespace json_spirit;

int _tmain(int argc, _TCHAR* argv[])
{       
	std::string s = "{\"currency\":\"USD\",\"rate\":31.898}";
	Value v;
	read_string(s,v);
	Object& rootObject = v.get_obj();
	
	for( unsigned int i=0;i<rootObject; ++i )
	{
		Pair& pair = rootObject[i];
		std::string& name = pair.name_; 
		Value& value = pair.value_;

		std::string res;
    
		if( name == "currency")
		{
		   res = value.get_str();
		}
		cout << res << endl;
	}
	getch();
	return 0;
}
При компиляции получаю целую кучу ерроров, которые абсолютно мне не ясны:
Код HTML:
Ошибка	1	error C2784: bool std::operator <(const std::deque<_Ty,_Alloc> &,const std::deque<_Ty,_Alloc> &): не удалось вывести аргумент шаблон для "const std::deque<_Ty,_Alloc> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	2	error C2784: bool std::operator <(const std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &): не удалось вывести аргумент шаблон для "const std::move_iterator<_RanIt> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	3	error C2784: bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *): не удалось вывести аргумент шаблон для "const std::basic_string<_Elem,_Traits,_Alloc> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	4	error C2784: bool std::operator <(const _Elem *,const std::basic_string<_Elem,_Traits,_Alloc> &): не удалось вывести аргумент шаблон для "const _Elem *" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	5	error C2784: bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const std::basic_string<_Elem,_Traits,_Alloc> &): не удалось вывести аргумент шаблон для "const std::basic_string<_Elem,_Traits,_Alloc> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	6	error C2784: bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &): не удалось вывести аргумент шаблон для "const std::_Tree<_Traits> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	7	error C2784: bool std::operator <(const std::vector<_Ty,_Ax> &,const std::vector<_Ty,_Ax> &): не удалось вывести аргумент шаблон для "const std::vector<_Ty,_Ax> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	8	error C2784: bool std::operator <(const std::unique_ptr<_Ty,_Dx> &,const std::unique_ptr<_Ty2,_Dx2> &): не удалось вывести аргумент шаблон для "const std::unique_ptr<_Ty,_Dx> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	9	error C2784: bool std::operator <(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &): не удалось вывести аргумент шаблон для "const std::reverse_iterator<_RanIt> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
Ошибка	10	error C2784: bool std::operator <(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &): не удалось вывести аргумент шаблон для "const std::_Revranit<_RanIt,_Base> &" из "unsigned int"	c:\users\iroot\documents\my_client\test\test\test.cpp	19	1	test
...
компилятор ругается как раз на for
Код:
...for( unsigned int i=0;i<rootObject; ++i )...
Если убрать for, написать нечто вроде
Код:
        Object& rootObject = v.get_obj();
	
	//for( unsigned int i=0;i<rootObject; ++i )
	//{
		Pair& pair = rootObject[0];
		std::string& name = pair.name_; 
		Value& value = pair.value_;

		std::string res;
    
		if( name == "currency")
		{
		   res = value.get_str();
		}
		cout << res << endl;
	//}
	getch();
Все компилится без вопросов. Прошу знатоков подсказать. Среда разработки - VS 2010.
Благодарю заранее.
qip2005 вне форума Ответить с цитированием
Старый 05.11.2012, 18:48   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А зачем вы счетчик цикла с ссылкой сравниваете?
p51x вне форума Ответить с цитированием
Старый 05.11.2012, 19:48   #3
qip2005
Пользователь
 
Регистрация: 14.09.2008
Сообщений: 61
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А зачем вы счетчик цикла с ссылкой сравниваете?
Спасибо огромное за ошибку, вот так бывает тупо бездумно с мана скопипастить и не пересмотреть глазами код.
Если кому пригодится - это выглядит как-то так:
Код:
...for( unsigned int i=0;i<rootObject.size(); ++i )...
Тему можно закрыть.

Последний раз редактировалось qip2005; 05.11.2012 в 19:51.
qip2005 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt + Json Lindemann66 Qt и кроссплатформенное программирование С/С++ 0 18.08.2011 15:26
Обработка Json Велесей Общие вопросы по Java, Java SE, Kotlin 5 18.07.2011 12:46
JSON, Deplhi Varossa Работа с сетью в Delphi 0 10.09.2010 15:14
Работа с JSON Wayfer Работа с сетью в Delphi 3 09.07.2010 19:32
JSON и C++Builder s2dent Общие вопросы C/C++ 0 15.06.2010 14:46