【发布时间】:2016-07-21 02:13:16
【问题描述】:
我希望能够有选择地从 json 架构中删除元素。想象一个 json 对象,它包含一个更大但类似的用户数组
[{
"users": [{
"firstName": "Nancy",
"socialSecurityNumber": "123-45-6789",
"sex": "Female",
"id": "1234",
"race": "Smith",
"lastName": "Logan"
}, {
"firstName": "Charles",
"socialSecurityNumber": "321-54-9876",
"sex": "Male",
"id": "3456",
"race": "White",
"lastName": "Clifford"
}],
我想使用正则表达式从 json 架构中去除 socialSecurityNumber 元素。正则表达式要删除什么
"socialSecurityNumber": "whatever value",
看起来数据对的值可以是任何字符串?
我无法确定数据对的位置以及它是否会有尾随逗号。
【问题讨论】:
-
您不应该为此使用正则表达式,而应该使用 JSON 解析器。
-
您是否建议我反序列化 json 对象,然后运行该结构以删除不需要的数据?
-
绝对。其他任何东西都会有奇怪的失败条件。
-
是的,我也建议使用 JSON 解析器,除非您可以保证要删除的部分始终在同一行中。这个 JSON 是从哪里来的?
-
它来自 Coldfusion/Hibernate ORM 实体。我不能保证零件总是在同一行。我不熟悉 JSON 解析器。你能说出一些常见的解析器吗? JSON 将作为 RESTful 服务响应返回,因此在离开服务器之前需要在 Coldfusion 中完成处理。