【发布时间】:2020-03-30 10:51:32
【问题描述】:
我有这个字符串:
x <- '[{"code":"B1182","description":"Tire pressure monitor module","faultInformations":[{"description":"---"},{"description":"TRUE","description_eng":"TRUE","description_fre":"TRUE","description_ger":"TRUE","description_spa":"TRUE","description_ita":"TRUE","description_tur":"TRUE"}],"freezeFrames":[],"enhancedDtcInfos":[],"status":"ACTIVE","system":"MULTIFUNCTION","systemMeta":{"systemName":null,"subSystemName":null},"description_eng":"Tire pressure monitor module","description_fre":"Module de surveillance de la pression des pneus","description_ger":"Reifendrucküberwachung","description_spa":"Módulo de control de la presión de los neumáticos","description_ita":"Modulo monitor di pressione pneumatico","description_tur":"Lastik basıncı izleme modülü"},{"code":"B124D","description":"Sensor, tyre pressure","faultInformations":[{"description":"---"},{"description":"TRUE","description_eng":"TRUE","description_fre":"TRUE","description_ger":"TRUE","description_spa":"TRUE","description_ita":"TRUE","description_tur":"TRUE"}],"freezeFrames":[],"enhancedDtcInfos":[],"status":"ACTIVE","system":"MULTIFUNCTION","systemMeta":{"systemName":null,"subSystemName":null},"description_eng":"Sensor, tyre pressure","description_fre":"Capteur, pression des pneus","description_ger":"Sensor Reifendruck","description_spa":"Sensor de presión del neumático","description_ita":"Sensore, pressione pneumatici","description_tur":"Sensör, lastik hava basıncı"}]'
如果我们格式化样式,它会是这样的:
[ {
"code":"B1182",
"description":"Tire pressure monitor module",
"faultInformations":[ {
"description": "---"
}
,
{
"description": "TRUE", "description_eng": "TRUE", "description_fre": "TRUE", "description_ger": "TRUE", "description_spa": "TRUE", "description_ita": "TRUE", "description_tur": "TRUE"
}
],
"freezeFrames":[],
"enhancedDtcInfos":[],
"status":"ACTIVE",
"system":"MULTIFUNCTION",
"systemMeta": {
"systemName": null, "subSystemName": null
}
,
"description_eng":"Tire pressure monitor module",
"description_fre":"Module de surveillance de la pression des pneus",
"description_ger":"Reifendrucküberwachung",
"description_spa":"Módulo de control de la presión de los neumáticos",
"description_ita":"Modulo monitor di pressione pneumatico",
"description_tur":"Lastik basıncı izleme modülü"
}
,
{
"code":"B124D",
"description":"Sensor, tyre pressure",
"faultInformations":[ {
"description": "---"
}
,
{
"description": "TRUE", "description_eng": "TRUE", "description_fre": "TRUE", "description_ger": "TRUE", "description_spa": "TRUE", "description_ita": "TRUE", "description_tur": "TRUE"
}
],
"freezeFrames":[],
"enhancedDtcInfos":[],
"status":"ACTIVE",
"system":"MULTIFUNCTION",
"systemMeta": {
"systemName": null, "subSystemName": null
}
,
"description_eng":"Sensor, tyre pressure",
"description_fre":"Capteur, pression des pneus",
"description_ger":"Sensor Reifendruck",
"description_spa":"Sensor de presión del neumático",
"description_ita":"Sensore, pressione pneumatici",
"description_tur":"Sensör, lastik hava basıncı"
}
]
我想从前面的字符串中提取字段code 及其value。
请注意,在此字符串中有两个代码("code":"B1182" 和 "code":"B124D"),但这将迭代地运行超过数千个可能存在不同代码号的字符串。
那么,我怎样才能提取这个字符串中的所有代码及其值呢?
【问题讨论】:
-
这是一个有效的 JSON,你应该使用 JSON 解析器。
-
试试
jsonlite::fromJSON(x)$code。