/ / R изход към JSON получите "_row": в обекти - json, r, почивка, api

R продукцията на JSON получава "_row": в обекти - json, r, rest, api

Опитвам се да взаимодействам с API за почивка, използвайки R. Искам да мога да преобразувам от JSON и след това обратно в JSON в същия формат.Но от JSON: (Откъс)

  "access": {
"read": true,
"update": true,
"externalize": false,
"delete": true,
"write": true,
"manage": true

Бягам :

 df<-jsonlite::fromJSON(r)

И се върна df с колони:

access.read TRUE
access.update TRUE
(etc)

След това, когато го пусна обратно:

df <- jsonlite::toJSON(df)

Получавам:

        "access": {
"read": true,
"update": true,
"externalize": false,
"delete": true,
"write": true,
"manage": true,
"_row": "1"
},

Вижте долната линия _row, която корумпира моето PUT обратно в REST.

Или ако добави df <- jsonlite :: toJSON (df, flatten = TRUE)

Взимам:

        "access.read": true,
"access.update": true,
"access.externalize": false,
"access.delete": true,
"access.write": true,
"access.manage": true,

Което не изглежда да чете / внася много добре в моя REST Api.

Какви са предложенията за това? Не мога да намеря каквото и да било, което да се занимава с този въпрос.

Благодаря!

Отговори:

0 за отговор № 1

Опитвам...

back_to_JSON <- jsonlite::toJSON(df, rownames = FALSE)

Най- toJSON() функция в jsonlite пакетът няма документация за това поведение. Въпреки това, преглеждането на кода показва, че той използва asJSON() под капака.

Изходният код за метода S3 asJSON.data.frame е включен GitHub, От времето, когато това е написано, редове 14-21 разглеждат този проблем. Използвайки ... във вашия toJSON() обаждане ще премине rownames = FALSE параметър надолу и това ще отстрани проблема ви.