1

我想从 sql server 中选择 2 个相关表( invoice , invoice_detail ) - 并在每条记录中嵌套 invoice_detail 数据 - 使用 R 以 json 格式(如本页底部的格式)输出(我不能使用 SQL Server因为它是一个旧版本——我还需要用 R 做一些其他的事情)。

看来我需要使用包 RODBC 和 rjson 或类似的。

library(rjson)
library(RODBC, quietly = TRUE)
sql.conn.string <- "Driver={SQL Server};Server=server;Uid=username;Pwd=password;"
sqlOdbc = odbcDriverConnect(sql.conn.string)
orders <- sqlFetch(sqlOdbc, "orders", max = 20)
toJSON(orders)
odbcClose(sqlOdbc)

给出错误:toJSON(orders) 中的错误:无法将 R 类型 24 转换为 JSON。我有点迷路了。是否有另一种包/方法 - 或一些临时转换来实现这一点?


所需格式:

{
"invoiceID": "970e858b-416f-4ed3-b244-3e32b6baa3a1",
"invoiceNumber": "100129115",
"date": "2017-06-12T12:00:00Z",
"lineItems": [{
        "description": "Product 1",
    "quantity": 1.0000,
    "unitAmount": 0.0000,
    "itemCode": "lmAM001ESC",
    "taxAmount": 0.00,
    "lineAmount": 0.00,
    "discountRate": 0.00,
    "tracking": [],
    "lineItemID": "e044a3a9-31d6-4619-a1c4-d50c2565abda"
},
{
    "description": "Product 2",
    "quantity": 1.0000,
    "unitAmount": 0.0000,
    "itemCode": "lmAD050HDC",
    "taxAmount": 0.00,
    "lineAmount": 0.00,
    "discountRate": 0.00,
    "tracking": [],
    "lineItemID": "835be120-1362-4b8a-b9b2-2b3cd2c69d9c"
}]
}
4

0 回答 0