0

jsonlite を使用して JSON データをリストに変換した後、次のようなリストの 1 つになります。この場合、10 番目の要素には 9 列 (常に固定) と 2 行 (毎回異なります) のリストが含まれます。

mat <- lset$data$comments$data[10]

mat
[[1]]
                                   id can_remove             created_time           from.id
1 10152663742099258_10152663749369258       TRUE 2014-07-01T11:10:29+0000 10203711779968366
2 10152663742099258_10152663842204258       TRUE 2014-07-01T12:15:57+0000         706804257
3 10152663742099258_10152663929639258       TRUE 2014-07-01T13:25:28+0000 10152738599744416
4 10152663742099258_10152663976344258       TRUE 2014-07-01T13:59:33+0000         706804257
         from.name like_count
1      Aileen Yeow          1
2    Tejas Damania          0
3 Sandeep Kulkarni          1
4    Tejas Damania          0
                                                                                                   message
1                                                                                           Lame statement
2 Don't forget, people like you only because they don't know you! <ed><U+00A0><U+00BD><ed><U+00B8><U+00A1>
3      ...for a second I thought it's Accenture Singapore office with some new theme similar to its brand!
4         This is shanghai and nothing to do with firm I work for <ed><U+00A0><U+00BD><ed><U+00B8><U+008E>
  user_likes
1      FALSE
2      FALSE
3       TRUE
4      FALSE

マット全体は [1] のリストとして表示されます。ご覧のとおり、リストが含まれています (リスト内?)。マットを印刷すると、上記のような構造が表示されます。

typeof(mat)
[1] "list"

substring(mat,1,100)
[1] "list(id = c(\"10152663742099258_10152663749369258\", \"10152663742099258_10152663842204258\", \"101526637"

これから特定の要素(メッセージなど)にアクセスできません。これを文字列のマトリックスに変換することもできないので、構造化された方法で要素にアクセスできます。

4

1 に答える 1

0

fromJSON 呼び出しパラメーターを by 設定に変更しましたsimplifyVector = FALSE(これはデフォルトで true に設定されています)

lset <- fromJSON(jsonobj, simplifyVector = F, flatten=TRUE, unicode = TRUE)

これにより、マットの形成方法が変更され、コードは各リーフ要素までネストを維持します。$ を使用してさらに深く掘り下げ、リーフ要素でのみ文字列値を見つけることができます。 lset$data[[x]]$comments$data[[y]]$from$name

それは今のところうまくいきます!助けてくれてありがとう

于 2014-08-25T12:14:57.330 に答える