File tree 2 files changed +12
-1
lines changed 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -467,7 +467,7 @@ bool Reader::readObject(Token& token) {
467
467
Value numberName;
468
468
if (!decodeNumber (tokenName, numberName))
469
469
return recoverFromError (tokenObjectEnd);
470
- name = String ( numberName.asCString () );
470
+ name = numberName.asString ( );
471
471
} else {
472
472
break ;
473
473
}
Original file line number Diff line number Diff line change @@ -2648,6 +2648,10 @@ struct ReaderTest : JsonTest::TestCase {
2648
2648
new Json::Reader (Json::Features{}.strictMode ()));
2649
2649
}
2650
2650
2651
+ void setFeatures (Json::Features& features) {
2652
+ reader = std::unique_ptr<Json::Reader>(new Json::Reader (features));
2653
+ }
2654
+
2651
2655
void checkStructuredErrors (
2652
2656
const std::vector<Json::Reader::StructuredError>& actual,
2653
2657
const std::vector<Json::Reader::StructuredError>& expected) {
@@ -2851,6 +2855,13 @@ JSONTEST_FIXTURE_LOCAL(ReaderTest, pushErrorTest) {
2851
2855
" See Line 1, Column 14 for detail.\n " );
2852
2856
}
2853
2857
2858
+ JSONTEST_FIXTURE_LOCAL (ReaderTest, allowNumericKeysTest) {
2859
+ Json::Features features;
2860
+ features.allowNumericKeys_ = true ;
2861
+ setFeatures (features);
2862
+ checkParse (R"( { 123 : "abc" })" );
2863
+ }
2864
+
2854
2865
struct CharReaderTest : JsonTest::TestCase {};
2855
2866
2856
2867
JSONTEST_FIXTURE_LOCAL (CharReaderTest, parseWithNoErrors) {
You can’t perform that action at this time.
0 commit comments