तो मैं हाल ही में JSONCPP स्थापित किया है और किसी कारण से यह मेरे त्रुटियों देता है जब मैं इस कोड का प्रयास करें:JSONCPP पढ़ने नहीं फ़ाइलों को सही ढंग
#include <json.h>
#include <iostream>
#include <fstream>
int main(){
bool alive = true;
while (alive){
Json::Value root; // will contains the root value after parsing.
Json::Reader reader;
std::string test = "testis.json";
bool parsingSuccessful = reader.parse(test, root, false);
if (!parsingSuccessful)
{
// report to the user the failure and their locations in the document.
std::cout << reader.getFormatedErrorMessages()
<< "\n";
}
std::string encoding = root.get("encoding", "UTF-8").asString();
std::cout << encoding << "\n";
alive = false;
}
return 0;
}
और यहाँ फ़ाइल है:
{
"encoding" : "lab"
}
इसमें कहा गया है कि लाइन 1, कॉलम 1 पर एक वाक्यविन्यास त्रुटि है, और यह एक मान, वस्तु या सरणी होना चाहिए। क्या किसी को पता है कि इसे किस प्रकार ठीक किया जा सकता है?
संपादित करें:, वर्तमान कोड में बदला गया pastebin से
अपने कोड फ़ॉर्मेट करने के लिए है, यह और Ctrl + K प्रेस का चयन करें। पूर्वावलोकन का प्रयोग करें। – EboMike
डाउनवोट इसलिए है क्योंकि: फ़ंक्शन तर्कों पर यादृच्छिक रूप से अनुमान लगाने के बजाय दस्तावेज़_ को बस _read करें, और आप ठीक होंगे। –
@LightnessRacesinOrbit वास्तव में, इस तर्क के लिए प्रलेखन _ "यूटीएफ -8 एन्कोडेड स्ट्रिंग को पढ़ने के लिए दस्तावेज़ को पढ़ता है।" _ जो कम से कम थोड़ा अस्पष्ट है क्योंकि कोई 'दस्तावेज़' शब्द से अनुमान लगा सकता है कि std :: अनुरोध किया गया स्ट्रिंग वास्तव में एक फ़ाइल पथ होना चाहिए। असल में, मैंने ओपी के समान ही गलती की है। – Tom