好的想象一下,我们有一个结构未知的BIG json对象。
例如,我们希望从包含许多子项的非常大的数据转储中提取用户ID。
我们只知道字段名称是foreach (var a in ttTableA.Where(r => r.RowMod == "U"))
{
foreach (var b in (from row in Db.TableB.With(LockHint .UpdLock) where row.Company == Session.CompanyID
select row))
{
b.Field1 = a.Field1;
}
}
,但我们不知道确切的路径。它可能类似于user_id
或$.db.users[*].user_id
或其他任何内容。
我们假设我们不想提取已被禁止的用户 - 因此不应搜索$.account[*].user_id
之类的内容。
所以我想:
运行某些内容并映射我们的大型JSON对象,在我们的案例中包含指定字段名称($.profiles.banned.user_id
)的所有可能路径。
然后选择我想用于提取字段的路径。
提取数据(我可以使用任何JsonPath库做到这一点,所以这里没有困难)。
目标 - 再次 - 是理解文档的结构,列出所有可能的JsonPath兼容路径(步骤1)。
然后我可以选择我想要使用的JsonPath,并实际提取数据。
有什么办法吗?最好是用Python(但不是强制性的)。