2016-12-22 2 views
0

Der Server ich verändert die REST-Format aus Glatt- oder JSON gerade arbeite:Angular - Konvertieren Jackson Ausgabe zu JSON

{   
     "removedVertices": [ 
      { 
       "id": "1", 
       "info": { 
        "host": "myhost", 
        "port": "1111" 
       }, 
       "name": "Roy", 
       "type": "Worker" 
      } 
     ], 
     "id": "2", 
     "time": 1481183401573 
    } 

Zum Jackson Format:

{ 
      "removedVertices": [ 
      "java.util.ArrayList", 
      [ 
        { 
         "id": "1", 
          "info": [ 
           "java.util.HashMap", 
           { 
            "host": "myhost", 
            "port": "1111" 
           } 
         ] 
         "name": "Roy", 
         "type": "Worker",        
        }      
      ] 
      "id": "2", 
      "time": 1482392323858 
    } 

Wie kann ich es analysieren die Art und Weise war es vorher in Angular/Javascript?

Antwort

1

Angenommen, nur Arrays sind betroffen, würde ich underscore.js verwenden und eine rekursive Funktion schreiben, um den Jackson-Typ zu entfernen.

function jackson2json(input) { 
    return _.mapObject(input, function(val, key) { 
    if (_.isArray(val) && val.length > 1) { 
     // discard the Jackson type and keep the 2nd element of the array 
     return val[1]; 
    } 
    else if (_.isObject(val)) { 
     // apply the transformation recursively 
     return jackson2json(val); 
    } 
    else { 
     // keep the value unchanged (i.e. primitive types) 
     return val; 
    } 
    }); 
} 
0

Der Hauptunterschied i ist zu sehen, dass in Arrays Sie bei Index eine zusätzliche Zeichenfolge Element haben 0.

Wenn Sie immer die gleiche Struktur erhalten Sie wie folgt tun:

function jacksonToJson(jackson) { 
    jackson.removedVertices.splice(0, 1); 

    jackson.removedVertices.forEach((rmVert) => { 
     rmVert.info.splice(0, 1); 
    }); 

    return jackson; 
} 
+0

Vielen Dank für Ihre Wiederholung. Ich suche nach einer allgemeineren Lösung, da diese Typen auch auf anderen Knoten erscheinen und nicht nur "removedVertices" –