我收到一个很大的字符串化 JSON 对象,其中包含多个字段,其中一些字段很大。例如,假设该对象如下所示:
{
"somethingHuge": (200 000 character string)
"relevantField": true
}
我只对感兴趣relevantField
,所以为了节省性能,我不想解析somethingHuge
,分配内存来保存该字符串等。解析时可以跳过该字段吗?
注意:物体的形状是由外界因素决定的,无法仅接收相关数据。
我收到一个很大的字符串化 JSON 对象,其中包含多个字段,其中一些字段很大。例如,假设该对象如下所示:
{
"somethingHuge": (200 000 character string)
"relevantField": true
}
我只对感兴趣relevantField
,所以为了节省性能,我不想解析somethingHuge
,分配内存来保存该字符串等。解析时可以跳过该字段吗?
注意:物体的形状是由外界因素决定的,无法仅接收相关数据。
您可以使用reviver 参数来避免将字段存储在结果对象中。它仍将被解析,但至少可以立即丢弃,并且结果对象无需为该属性分配空间。
由于我还没有测量过,所以不确定这会带来多大的性能优势,但如果不从 JSON 字符串解析中删除它(或者使用自定义 JSON 库),我看不出有任何其他解决方法。