Lösung:wie kann ich den Wert „__type“ Schlüssel in einem json mit Javascript
ich das Problem gefunden, ist, dass Stift Parser die Funktion toJSON umschreiben, so dass, obwohl der ast Druck wie folgt, aber eigentlich ast Objekt Habe keine __type Eigenschaft, also verursacht es das Problem.
Frage:
Ich bin mit Stift ast Baum, der wie ist:
{
"__type": "Root",
"nodes": [
{
"__type": "Ident",
"name": "some-mixin",
"val": {
"__type": "Function",
"name": "some-mixin",
"lineno": 1,
"column": 16,
"params": {
"__type": "Params",
"nodes": [
{
"__type": "Ident",
"name": "a",
"val": {
"__type": "Null"
},
"mixin": false,
"lineno": 1,
"column": 12
},
...
es ist ein Baum von json ausgedrückt.
und ich möchte den Wert von "__type" erhalten, aber mit ["__type"], um den Wert zu erhalten, undefined wird zurückgegeben.
es scheint, als hätte "__type" eine besondere Bedeutung in json, wie kann ich den Wert von "__type" bekommen?
PS: Ich versuchte object.__type
, um den Wert zu erhalten, es funktioniert nicht.
Außerdem fand ich einige seltsame Sache
typeof ast // returns object
Ich benutze JSON.stringify (ast) und __type ist im String Aber ich benutze console.log (ast), __type fehlt, I weiß nicht, warum ..
Und auch habe ich versucht,
console.log(ast.hasOwnProperty('__type')) //return false
PPS: ich habe diesen Code in Knoten v0.12.0 laufen
Danke für Ihre Hilfe!
das sieht eher wie ein Javascript-Objekt mit einem eigenen Eigenschaften, haben Sie versucht, die Punktnotation 'Objekt .__ Baumuster zur? – madalinivascu
Scheint gut: https://jsfiddle.net/sypx3tom/ –
'__type' hat keine besondere Bedeutung oder Einschränkungen. Sie können darauf wie jede andere Eigenschaft zugreifen. –