json-tutorial
json-tutorial copied to clipboard
从零开始的 JSON 库教程
https://github.com/smalluncle/lept_json_cplusplus 欢迎批评指正。
问题:TEST_ROUNDTRIP("\"\\uD834\\uDD1E\"") 不通过。 **D:\code\CPP_projects\json\json-tutorial-master\tutorial07_answer\test.c:414: expect: "\uD834\uDD1E" actual: "饾劄" 394/395 (99.75%) passed** 1、在json解析器中,如这样的字符串"\"\\uD834\\uDD1E\""会被解析为这种格式"\xF0\x9D\x84\x9E" 的字符串; 2、在json生成器中,将传入这种格式"\xF0\x9D\x84\x9E"的字符串去生成json字符串文本,但代码中遇到某个字节ch大于0x20时直接PUTC(c,ch)进去,这是不是有问题呢?是不是应该考虑转义成unicode。 下面是answer中未优化的代码 `static void lept_stringify_string(lept_context* c, const char* s, size_t len) { size_t i; assert(s != NULL); PUTC(c,...
[3. UTF-8 编码](https://github.com/miloyip/json-tutorial/blob/master/tutorial04/tutorial04.md#3-utf-8-%E7%BC%96%E7%A0%81) 处,代码里有 `(u >> 12) & 0xFF`,0xFF = 11111111,对它进行逻辑与操作和不进行不一样吗?
Make this function lept_encode_utf8 more readable.
https://github.com/PinkDoc/pson/tree/master/v2/src
首先感谢 Milo 先生的精彩教程,我在读过之后受益匪浅,并正在做 tutorial08 中留下的练习,我在练习时出现了两个问题无法独立解决,于是寻求您和其他 Watcher 的帮助,现将问题症状描述如下: 1. 在 `test_copy()` 中 `lept_copy(&v2, &v1)` (line 479) 这一行,如果是在 Mac 下直接使用 Milo 先生给出的编译参数则会出现 ``` Assertion failed: (src != NULL && dst != NULL...
参照教程的思路,使用C++实现了一下。初学者可能有不正确的地方,大家提提意见。 https://github.com/Yuan-Hang/Json
想请教一下为什么`ch < 0x20`时原字符一定是用Unicode表示的? 另外还遇到一个问题是, 我在用`sprintf`复写上述`ch`时得到的都是`'\uFFFFFFxx'`型的JSON文本, 这个问题可能是什么原因呢?