【发布时间】:2012-12-13 07:59:06
【问题描述】:
我正在调用的 Web 服务返回一个 JSON 响应,其中包含比我实际需要使用的更多的数据,这导致反序列化过程需要很长时间。
我正在使用 VB.NET 和 Newtonsoft JSON 库。
以下面的 JSON 为例,如何删除除 'id' 值之外的所有值?
{"results": [
{"id":"1234", "name":"name value", "logo":"<some base64 encoded string>"},
{"id":"1234", "name":"name value", "logo":"<some base64 encoded string>"},
{"id":"1234", "name":"name value", "logo":"<some base64 encoded string>"},
{"id":"1234", "name":"name value", "logo":"<some base64 encoded string>"},
{"id":"1234", "name":"name value", "logo":"<some base64 encoded string>"}
]}
正则表达式会是最好的方法吗?
我刚刚了解到它还需要处理嵌套的对象数组,这些对象也具有id 属性。嵌套的 id 属性应从最终 JSON 中排除。
{"results": [
{"id":"1234", "name":"name value", "categories":[{"id":"1","name":"category"}]},
{"id":"1234", "name":"name value", "categories":[{"id":"1","name":"category"}]},
{"id":"1234", "name":"name value", "categories":[{"id":"1","name":"category"}]},
{"id":"1234", "name":"name value", "categories":[{"id":"1","name":"category"}]},
{"id":"1234", "name":"name value", "categories":[{"id":"1","name":"category"}]}
]}
【问题讨论】:
-
不,正则表达式可能不是解决方案,它无法解析 JSON 或正确删除某些内容。相反,去找一些你可以挂钩或允许延迟评估的解析器。