我有一个特定的 JSON 节点对应于 import org.codehaus.jackson.JsonNode,而不是 导入 org.codehaus.jackson.map.JsonNode。
[
{
"givenName": "Jim",
"formattedName": "jimJackson",
"familyName": null,
"middleName": "none",
"honorificPrefix": "mr",
"honorificSuffix": "none"
},
{
"givenName": "john",
"formattedName": "johnLasher",
"familyName": null,
"middleName": "none",
"honorificPrefix": "mr",
"honorificSuffix": "none"
},
{
"givenName": "carlos",
"formattedName": "carlosAddner",
"familyName": null,
"middleName": "none",
"honorifiPrefix": "mr",
"honorificSuffix": "none"
},
{
"givenName": "lisa",
"formattedName": "lisaRay",
"familyName": null,
"middleName": "none",
"honorificPrefix": "mrs",
"honorificSuffix": "none"
},
{
"givenName": "bradshaw",
"formattedName": "bradshawLion",
"familyName": null,
"middleName": "none",
"honorificPrefix": "mr",
"honorificSuffix": "none"
},
{
"givenName": "phill",
"formattedName": "phillKane",
"familyName": null,
"middleName": "none",
"honorificPrefix": "mr",
"honorificSuffix": "none"
},
{
"givenName": "Gabriel",
"formattedName": "gabrielMoosa",
"familyName": null,
"middleName": "none",
"honorificPrefix": "mr",
"honorificSuffix": "none"
}
]
我想从上述数组的所有 JSON 节点中删除“familyName”和“middleName”。有什么办法可以做到这一点?
最佳答案
我没有对此进行测试,但我认为这样的事情会做你想要的:
import org.codehaus.jackson.node.ObjectNode;
// ...
for (JsonNode personNode : rootNode) {
if (personNode instanceof ObjectNode) {
ObjectNode object = (ObjectNode) personNode;
object.remove("familyName");
object.remove("middleName");
}
}
您也可以使用 Jackon 的原始解析 API 更有效地执行此操作,但代码会更加困惑。
https://stackoverflow.com/questions/15603033/
相关文章:
javascript - typescript 对象序列化?
python - 将输出序列化为 JSON - ValueError : Circular refe
php - 为什么在我们有 json_encode 时使用 CJSON 编码
c# - 将带有数据和文件的 JSON 发布到 Web Api - jQuery/MVC
javascript - 我可以使用空字符串作为对象标识符吗?
java - jackson :反序列化为每个值都具有正确类型的 Map
c# - 无法使用 Json.net 序列化具有复杂键的字典
javascript - 使用 Asp.Net MVC 和 KnockoutJS 处理日期