举一个fastjson使用递归向下算法解析JSON的实例
时间: 2023-08-15 22:07:55 浏览: 43
好的,这里举一个fastjson使用递归向下算法解析JSON的实例。假设有如下JSON字符串:
```
{
"name": "Tom",
"age": 18,
"gender": "male",
"address": {
"province": "Guangdong",
"city": "Shenzhen",
"district": "Futian"
}
}
```
fastjson解析这个JSON字符串时,会使用递归向下算法进行解析。具体的解析过程如下:
1. 初始状态:读取到 '{',进入parseObject方法。
2. parseObject方法:创建JSONObject对象,读取到 "name",调用parseKey方法。
3. parseKey方法:读取到 ':',调用parseValue方法。
4. parseValue方法:读取到 "Tom",将其作为值赋给"name"键。
5. parseObject方法:读取到 ',',继续调用parseKey方法。
6. parseKey方法:读取到 ':',调用parseValue方法。
7. parseValue方法:读取到 18,将其作为值赋给"age"键。
8. parseObject方法:读取到 ',',继续调用parseKey方法。
9. parseKey方法:读取到 ':',调用parseValue方法。
10. parseValue方法:读取到 "male",将其作为值赋给"gender"键。
11. parseObject方法:读取到 ',',继续调用parseKey方法。
12. parseKey方法:读取到 ':',调用parseValue方法。
13. parseValue方法:读取到 '{',进入parseObject方法。
14. parseObject方法:创建JSONObject对象,读取到 "province",调用parseKey方法。
15. parseKey方法:读取到 ':',调用parseValue方法。
16. parseValue方法:读取到 "Guangdong",将其作为值赋给"province"键。
17. parseObject方法:读取到 ',',继续调用parseKey方法。
18. parseKey方法:读取到 ':',调用parseValue方法。
19. parseValue方法:读取到 "Shenzhen",将其作为值赋给"city"键。
20. parseObject方法:读取到 ',',继续调用parseKey方法。
21. parseKey方法:读取到 ':',调用parseValue方法。
22. parseValue方法:读取到 "Futian",将其作为值赋给"district"键。
23. parseObject方法:读取到 '}',将JSONObject对象作为值赋给"address"键。
24. parseObject方法:读取到 '}',JSON解析完成。
以上就是fastjson使用递归向下算法解析JSON的一个实例。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)