File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -467,7 +467,7 @@ bool Reader::readObject(Token& token) {
467467 Value numberName;
468468 if (!decodeNumber (tokenName, numberName))
469469 return recoverFromError (tokenObjectEnd);
470- name = String ( numberName.asCString () );
470+ name = numberName.asString ( );
471471 } else {
472472 break ;
473473 }
Original file line number Diff line number Diff line change @@ -2648,6 +2648,10 @@ struct ReaderTest : JsonTest::TestCase {
26482648 new Json::Reader (Json::Features{}.strictMode ()));
26492649 }
26502650
2651+ void setFeatures (Json::Features& features) {
2652+ reader = std::unique_ptr<Json::Reader>(new Json::Reader (features));
2653+ }
2654+
26512655 void checkStructuredErrors (
26522656 const std::vector<Json::Reader::StructuredError>& actual,
26532657 const std::vector<Json::Reader::StructuredError>& expected) {
@@ -2851,6 +2855,13 @@ JSONTEST_FIXTURE_LOCAL(ReaderTest, pushErrorTest) {
28512855 " See Line 1, Column 14 for detail.\n " );
28522856}
28532857
2858+ JSONTEST_FIXTURE_LOCAL (ReaderTest, allowNumericKeysTest) {
2859+ Json::Features features;
2860+ features.allowNumericKeys_ = true ;
2861+ setFeatures (features);
2862+ checkParse (R"( { 123 : "abc" })" );
2863+ }
2864+
28542865struct CharReaderTest : JsonTest::TestCase {};
28552866
28562867JSONTEST_FIXTURE_LOCAL (CharReaderTest, parseWithNoErrors) {
You can’t perform that action at this time.
0 commit comments