File tree 2 files changed +22
-0
lines changed
2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -359,6 +359,12 @@ class JSON_API CharReaderBuilder : public CharReader::Factory {
359
359
* \snippet src/lib_json/json_reader.cpp CharReaderBuilderStrictMode
360
360
*/
361
361
static void strictMode (Json::Value* settings);
362
+ /* * ECMA-404 mode.
363
+ * \pre 'settings' != NULL (but Json::null is fine)
364
+ * \remark Defaults:
365
+ * \snippet src/lib_json/json_reader.cpp CharReaderBuilderECMA404Mode
366
+ */
367
+ static void ecma404Mode (Json::Value* settings);
362
368
};
363
369
364
370
/* * Consume entire stream and use its begin/end.
Original file line number Diff line number Diff line change @@ -1963,6 +1963,22 @@ void CharReaderBuilder::setDefaults(Json::Value* settings) {
1963
1963
(*settings)[" skipBom" ] = true ;
1964
1964
// ! [CharReaderBuilderDefaults]
1965
1965
}
1966
+ // static
1967
+ void CharReaderBuilder::ecma404Mode (Json::Value* settings) {
1968
+ // ! [CharReaderBuilderECMA404Mode]
1969
+ (*settings)[" allowComments" ] = false ;
1970
+ (*settings)[" allowTrailingCommas" ] = false ;
1971
+ (*settings)[" strictRoot" ] = false ;
1972
+ (*settings)[" allowDroppedNullPlaceholders" ] = false ;
1973
+ (*settings)[" allowNumericKeys" ] = false ;
1974
+ (*settings)[" allowSingleQuotes" ] = false ;
1975
+ (*settings)[" stackLimit" ] = 1000 ;
1976
+ (*settings)[" failIfExtra" ] = true ;
1977
+ (*settings)[" rejectDupKeys" ] = false ;
1978
+ (*settings)[" allowSpecialFloats" ] = false ;
1979
+ (*settings)[" skipBom" ] = false ;
1980
+ // ! [CharReaderBuilderECMA404Mode]
1981
+ }
1966
1982
1967
1983
// ////////////////////////////////
1968
1984
// global functions
You can’t perform that action at this time.
0 commit comments