Proposal: Support parsing JSON number as RawNumber type
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- backend-api-design
Research direction
No source files or tests are named. Review implementation branch #60 first, then inspect the existing JSON value and number-parsing APIs; completion means implementing the listed RawNumber enum and type, validated lifecycle and comparison operations, and distinct IsRawNumber behavior.
Written by the indexing model from the issue text.
Description
In order to parse JSON numbers with full precision and improve parsing performance, we propose adding a new RawNumber type for representing parsed JSON number values.
The design of this feature includes the following steps:
- Add a new
kRawNumberenum to represent JSON number values, and add aRawNumberclass to distinguish it fromstringviewtype. - Provide support for construct, modifying, copying, and comparing
RawNumbervalues. Especially, validate the number in construct and set API, because the number is from the user and maybe invalid numbers - Use
IsRawNumberto check for the presence of aRawNumber, whileIsNumbercontinues to check for numeric types.
Implementation branch: #60
Status: To be reviewed.
- Dominant language
- C++
- Stars
- 977
- Forks
- 128
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from bytedance/sonic-cpp
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
-
请问下,下个release版本有规划了吗Open
Difficulty 5/5 Over a week Newbie friendliness 1/100
-
对 parseImpl 进行优化Open
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
sonic 能在 mac 上测试吗Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
U64toa 单元测试用例不通过Open
Difficulty 3/5 1-2 days Newbie friendliness 55/100
All issues in bytedance/sonic-cpp
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gavinlouuu-kpt/mib-studio-qt#517 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
EchoTools/nevr-runtime#116 ·
Maintainers usually reply within 1 day
-
code-quality libc++
Difficulty 1/5 Under an hour Newbie friendliness 82/100
llvm/llvm-project#229284 ·
Maintainers usually reply within 1 day
-
test-issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
llvm/offload-test-suite#1557 ·
Maintainers usually reply within 1 day