c++ json::value

3664 ワード

jsoncppは主に3つのclass:Value、Reader、Writerを含む.注意Json::ValueはANSIタイプの文字列しか処理できません.C++プログラムがUnicodeで符号化されている場合は、Adaptクラスを追加したほうがいいです.
 
Json内部クラスとメソッド:
    Reader
【コンストラクション関数】1、Reader();【コピーコンストラクション関数】2、Reader(const Features&features);【文字列または入力ストリームをJSONのValueオブジェクトに変換】【下が対応するparseのリロード関数】3、bool parse( const std::string &document, Value &root,bool collectComments = true );         4、bool parse( const char *beginDoc, const char *endDoc, 
                       Value &root,bool collectComments = true         
        5、bool parse( std::istream &is,Value &root,bool collectComments = true );         6、std::string getFormatedErrorMessages() const;
    Value: 
【構造関数】1、Value(ValueType type=nullValue);Value(Int value);Value(UInt value);Value(double value);Value(const char*value);Value(const char*beginValue,const char*endValue);【コピーコンストラクション関数】2、Value(const StaticString&value);Value(const std::string&value);Value(const Value&other);【同じタイプの比較、交換、タイプの取得】3、void swap(Value&other);Value Type() const;           int compare( const Value &other ); 【対応する代入演算子のリロード関数】4、Value&operator=(const Value&other);bool operator bool operator<=(const Value&other)const;bool operator>=(const Value&other)const;bool operator>(const Value&other) const;           bool operator ==( const Value &other ) const;           bool operator !=( const Value &other ) const;           bool operator!() const;           Value &operator[]( UInt index );           const Value &operator[]( UInt index ) const; 【Valueオブジェクトを対応するタイプに変換する】5、const char*asCString()const;std::string asString()const;const char*asCString()const;std::string asString()const;Int asInt()const;UInt asUInt()const;double asDouble() const; 【対応判断関数】6、bool isNull()const;bool isBool()const;bool isInt()const;bool isUInt()const;bool isIntegral()const;bool isIntegral()const;bool isDouble()const;bool isNumeric()const;bool isString() const;           bool isArray() const;           bool isObject() const;           bool isConvertibleTo( ValueType other ) const;           bool isValidIndex( UInt index ) const;           bool isMember( const char *key ) const;           bool isMember( const std::string &key ) const; 【クリアと拡張関数】7、void clear();void resize(UInt size);【該当条件を満たすValueを取得】8、Value get(UInt index,const Value&defaultValue)const;Value get(const std::string&key,const Value&defaultValue) const;          Members getMemberNames() const; 【該当条件を満たすValueの削除】9、Value removeMember(const char*key)、Value removeMember(const std::string&key)、10、void setComment(const char*comment、CommentPlacement placement)、void setComment(const std::string&comment、CommentPlacement placement);           bool hasComment( CommentPlacement placement ) const;           std::string getComment( CommentPlacement placement ) const;           std::string toStyledString()const;  
     Writer:               Json::FastWriter、Json::StyledWriter、Json::StyledStreamWriter.名前の通りJson::FastWriterでjsonを処理するのが一番速いはずです.メモリ内のValueオブジェクトをJSONドキュメントに変換し、
ファイルまたは文字列に出力>
         【FastWriter】           1、FastWriter();           virtual ~FastWriter(){}           void enableYAMLCompatibility();           virtual std::string write( const Value &root );          【StyledWriter】           2、StyledWriter();           virtual ~StyledWriter(){}           virtual std::string write( const Value &root );  
 
 
  •  

  • ----------------------adminからmaxinのCSDNブログ、全文アドレスをクリックしてください:https://blog.csdn.net/admin_maxin/article/details/53175779?utm_source=copy