gpt4 book ai didi

json - 使用 jsonpath 选择多个属性

转载 作者:行者123 更新时间:2023-12-03 15:48:34 30 4
gpt4 key购买 nike

我有一组像这样的对象:

[
{
"id": 192,
"name": "Complete name",
"username": "nsurname",
"state": "active",
"created_at": "2016-05-30T07:09:40.981Z",
"organization": "",
"last_sign_in_at": "2018-10-19T12:07:50.679Z",
"confirmed_at": "2016-05-30T07:09:40.982Z",
"last_activity_on": "2018-10-15",
"email": "mail@myorganization.com",
"current_sign_in_at": "2018-10-23T11:41:27.880Z",
"identities": [
{
"provider": "ldapmain",
"extern_uid": "user distinguished name"
}
],
"can_create_group": true,
"can_create_project": false
}
]

我想要的是只提取属性的一个子集并得到如下内容:
[
{
"id" : 192,
"name" : "complete name",
"username" : "uname",
"email" : "mail@myorganization.com",
"extern_uid": "user distinguished name"
}
]

基于 this answer ,我使用 Jayway JsonPath Evaluator 在 http://jsonpath.herokuapp.com/ 上使用此表达式成功获得了 id、姓名、用户名和电子邮件属性。
$..['id', 'name', 'username', 'email']

但是如何获得不同等级的属性呢?外部用户名

最佳答案

我会把它放在评论中,但我认为这会更容易阅读。
您可以只解析答案,然后使用 Stringify 重新创建您想要的 JSON 对象。我能够从这里拉出我曾经想出的基本代码,How to extract a JSON subset from main JSON

我不知道这是否真的有效,但我希望它至少能让你找到正确的方法来找到解决方案。

我的回答:

var parsed = JSON.parse(thisObjectYouLinked);//here you would put whatever JSON object you displayed

var newObject = JSON.stringify({
$..['id', 'name', 'username', 'email']
$.identies[*].['extern_uid']
});

长话短说,与其试图找出 JSONPath 的东西,不如直接解析并创建自己的对象?

关于json - 使用 jsonpath 选择多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950912/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com