2013-10-31 10 views
6

yılında int root ["age"] diline int.dönüştürme json değeri ben</p> <pre><code>Json::Reader reader </code></pre> <p>kullanarak C++ bir json değerini okuyorum ve değer Bu kök "yaş" ve "id" ve I içeren <code>Json::Value root</code></p> <p>saklanır C++

.str() kullanarak dizeye dönüştürmeyi denedim ancak alamadım.

Herhangi bir öneriniz var mı?

+0

jsoncpp kullanıyor musunuz? Bahsettiğin sınıflara dayanıyor gibisin. Eğer öyleyse, jsoncpp zaten dönüştürmek için Value sınıfında bir yerleşik bir yönteme sahip olduğundan, başkalarının önerdiği şeyden daha kolaydır. –

cevap

0

Onların Json::Value nesne üzerinde yardımcı yöntemleri sağlamak jsoncpp yılında http://en.cppreference.com/w/cpp/string/basic_string/stol

#include <iostream> 
#include <string> 

int main() 
{ 
    std::string test = "45"; 
    int myint = std::stoi(test); 
    std::cout << myint << '\n'; 
} 
+0

root ["age"] json :: değerini döndürmez: std :: string neden bu stoi() kullanamazsınız – rocx

8

alınan

std::stoi(string) 

Örnek kullanmak gerekir. Dönüştürmek için sadece asInt() yöntemini çağırabilirsiniz.

int ageAsInt = root["age"].asInt() 
+0

Şimdi hata alıyorum std :: runtime_error: Type int dönüşümü yoktur – rocx

+0

JSON’unuzun bir örneği bu soruya inanılmaz derecede yardımcı olacaktır. Ayrıca sorunuzda hangi kütüphaneyi kullandığınızı doğrulayın, böylece daha iyi cevap verebiliriz. –

+0

Benim json içeriği: {"age": "2", "date": "2010-12-07 09-40-38"} Ben jsoncpp ve json_utils kullanıyorum – rocx

İlgili konular