« JSON » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
 
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
[[Category:Javascript]]
[[Category:Javascript]]
= Liens =
= Liens =
[[JSON_et_CSharp|JSON et C#]]
* [[JSON_et_CSharp|JSON et C#]]
* [[Bash_command_line#jq|JSON et Bash]]
* [[Javascript#JSON|JSON et Javascript]]


= Définition =
= Définition =
Ligne 30 : Ligne 32 :


= Query languages =
= Query languages =
[http://www.jsonquerytool.com Tool]
[http://www.jsonquerytool.com Online JSON query tester]
* JSONPath
* [https://www.npmjs.com/package/jsonpath-plus JSONPath Plus]
* XPath for JSON
* XPath for JSON
* JSONPointer
* JSONPointer
<kode lang='js'>
const result = JSONPath.JSONPath({
    path: 'json query',
    json: myJsonObject
});
</kode>
== [https://support.smartbear.com/alertsite/docs/monitors/api/endpoint/jsonpath.html JSONPath syntax] ==
<kode lang='json'>
{
    "A": "1",
    "B": {
        "X": "2"
    },
    "C": {
        "X": "3"
    },
    "D": [
        {
            "Y": "4",
            "Z": "44"
        },
        {
            "Y": "5",
            "Z": "55"
        }
    ]
}
</kode>
<kode lang='js'>
A
// [ "1" ]
B.X
// [ "2" ]
*.X
$..X
// [ "2", "3" ]
D[0]
// { "Y": "4", "Z": "44" }
D[*].Y
// [ "4", "5" ]
D[?(@.Y === "4")].Z
// [ "44" ]
</kode>

Dernière version du 17 février 2021 à 10:38

Liens

Définition

JavaScript Object Notation, tout comme XML, sert à sérialiser des données.

Structure

Javascript.svg
{
    "nom": "valeur",
    "nom2": {
        "label1": "valeur",
        "label2": "valeur"
    },
    "tableau": [
        {
            "nom1": "valeur",
            "nom2": "valeur"
        },
        {
            "nom1": "valeur",
            "nom2": "valeur"
        }
    ]
}

Query languages

Online JSON query tester

Js.svg
const result = JSONPath.JSONPath({
    path: 'json query',
    json: myJsonObject
});

JSONPath syntax

Json.svg
{
    "A": "1",
    "B": {
        "X": "2"
    },
    "C": {
        "X": "3"
    },
    "D": [
        {
            "Y": "4",
            "Z": "44"
        },
        {
            "Y": "5",
            "Z": "55"
        }
    ]
}
Js.svg
A
// [ "1" ]

B.X
// [ "2" ]

*.X
$..X
// [ "2", "3" ]

D[0]
// { "Y": "4", "Z": "44" }

D[*].Y
// [ "4", "5" ]

D[?(@.Y === "4")].Z
// [ "44" ]