2016-04-15 9 views
0
um

Ich möchte wissen, wenn es irgendeine Weise gibt, die wir json Zeichenketten vektorisiert in eine Liste umwandeln können, mit anderen Worten möchte ich wissen, ob wir eine Liste von verwenden können json zum Konvertieren in eine Liste von Listen in R.wandeln Sie Json in eine vektorisierte Weise in R

Es gibt viele Optionen zum Konvertieren von JSON in die Liste. Alle akzeptieren jedoch nur eine JSON-Zeichenfolge.

Ich habe folgende Liste von JSON-Format:

x = 
c("{"employees":[ 
{"firstName":"John", "lastName":"Doe"}, 
{"firstName":"Anna", "lastName":"Smith"}, 
{"firstName":"Peter", "lastName":"Jones"} 
]}", 
{"employees":[ 
{"firstName":"John", "lastName":"Doe"}, 
{"firstName":"Anna", "lastName":"Smith"}, 
{"firstName":"Peter", "lastName":"Jones"} 
]}) 

Jetzt möchte ich sie konvertieren aufzulisten. Im Moment benutze ich das foreach Paket, um sie in eine Liste umzuwandeln.

z <- Vectroize_fromJSON(x) 

Irgendwelche Ideen: Das Folgende ist Code ist das, was ich benutze: etwas tun wie folgt

library(jsonlite) 
library(foreach) 
library(doParallel) 
registerDoParallel(cores = 2) 

z <- foreach(i = 1:length(x), .combine = 'rbind') %dopar% { 
fromJSON(x[1])} 

aber ich will?

Hinweis: Der Grund für die Verwendung von foreach ist, dass ich festgestellt habe, dass es schneller als eine normale for Schleife ist. Wenn jedoch die Liste von json groß ist, wird es unpraktisch.

+0

Ist 'x' eine Liste von json string? R akzeptiert keine Syntax wie "[]" als Sammlung. – Psidom

+0

Danke, Aktualisierte Frage –

Antwort

1

Ist das etwas, was Sie wollen?

vectorize_fromJSON <- Vectorize(fromJSON) 
z <- vectorize_fromJSON(x) 
+0

Wissen Sie, wie Sie nur Nummer beim Konvertieren von JSON zu Liste in r zuweisen? Zur Zeit wird json string als Variablenname in die Liste eingefügt. –

+0

Es sollte egal sein, ob der Variablenname eine Zeichenkette ist, da Sie das Element immer extrahieren können, indem Sie den numerischen Index angeben. Zum Beispiel, li <- liste (a = 3) 'dann' li [[1]] == li $ a = 3' – Psidom

Verwandte Themen