在R中,如何将参数与JSON数据中的一组值链接?

在R中,如何将参数与JSON数据中的一组值链接?,json,r,Json,R,下面是JSON数据 "parameters": [ { "parameterName": "IntervalToIgnoreDuringTransitions", "values": [ { "createdByTimestamp": "2014-09-22T14:39:25.717Z",

下面是JSON数据

       "parameters": [
            {
                "parameterName": "IntervalToIgnoreDuringTransitions",
                "values": [
                    {
                        "createdByTimestamp": "2014-09-22T14:39:25.717Z",
                        "createdByUser": "tis",
                        "modifiedByUser": "",
                        "analyticParameterValueId": 502,
                        "analyticParameterNameId": 502,
                        "analyticParameterValue": "0"
                    }
                ]
            },
            {
                "parameterName": "DateRange",
                "values": [
                    {
                        "createdByTimestamp": "2014-09-22T14:38:25.297Z",
                        "createdByUser": "tis",
                        "modifiedByUser": "",
                        "analyticParameterValueId": 501,
                        "analyticParameterNameId": 501,
                        "analyticParameterValue": "12"
                    }
                ]
            }
        ]
在R中创建以下data.frame结构

'data.frame':   2 obs. of  2 variables:
 $ parameterName: chr  "IntervalToIgnoreDuringTransitions" "DateRange"
 $ values       :List of 2
  ..$ :'data.frame':    1 obs. of  6 variables:
  .. ..$ createdByTimestamp      : chr "2014-09-22T14:39:25.717Z"
  .. ..$ createdByUser           : chr "tis"
  .. ..$ modifiedByUser          : chr ""
  .. ..$ analyticParameterValueId: int 502
  .. ..$ analyticParameterNameId : int 502
  .. ..$ analyticParameterValue  : chr "0"
  ..$ :'data.frame':    1 obs. of  6 variables:
  .. ..$ createdByTimestamp      : chr "2014-09-22T14:38:25.297Z"
  .. ..$ createdByUser           : chr "tis"
  .. ..$ modifiedByUser          : chr ""
  .. ..$ analyticParameterValueId: int 501
  .. ..$ analyticParameterNameId : int 501
  .. ..$ analyticParameterValue  : chr "12"
是否有简单的方法将参数名称与其各自的值链接起来

例如,如果data.frame名为df,我想使用df$DateRange$analyticParameterValue返回“12”。

这应该可以做到:

library(jsonlite)

tmp <- fromJSON('{"parameters": [
{
  "parameterName": "IntervalToIgnoreDuringTransitions",
  "values": [
{
  "createdByTimestamp": "2014-09-22T14:39:25.717Z",
  "createdByUser": "tis",
  "modifiedByUser": "",
  "analyticParameterValueId": 502,
  "analyticParameterNameId": 502,
  "analyticParameterValue": "0"
}
]
},
{
  "parameterName": "DateRange",
  "values": [
{
  "createdByTimestamp": "2014-09-22T14:38:25.297Z",
  "createdByUser": "tis",
  "modifiedByUser": "",
  "analyticParameterValueId": 501,
  "analyticParameterNameId": 501,
  "analyticParameterValue": "12"
}
]
}
]}')

dat <- tmp$parameters$values
names(dat) <- tmp$parameters$parameterName

dat$DateRange$analyticParameterValue
## [1] "12"
library(jsonlite)
tmp