javascript - 从 Json 到“JSON 对象中的数组”的确切特定值 REACTjs
问题描述
基本上,我想解析这个 JSON
{
"timestamp": 1541602815150,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.bind.MethodArgumentNotValidException",
"errors": [
{
"codes": [
"Size.userVO.lastName",
"Size.lastName",
"Size.java.lang.String",
"Size"
],
"arguments": [
{
"codes": [
"userVO.lastName",
"lastName"
],
"arguments": null,
"defaultMessage": "lastName",
"code": "lastName"
},
2147483647,
4
],
"defaultMessage": "Last name should have atleast 1 characters ",
"objectName": "userVO",
"field": "lastName",
"rejectedValue": "Shh",
"bindingFailure": false,
"code": "Size"
},
{
"codes": [
"NotNull.userVO.role",
"NotNull.role",
"NotNull.java.lang.Integer",
"NotNull"
],
"arguments": [
{
"codes": [
"userVO.role",
"role"
],
"arguments": null,
"defaultMessage": "role",
"code": "role"
}
],
"defaultMessage": "may not be null",
"objectName": "userVO",
"field": "role",
"rejectedValue": null,
"bindingFailure": false,
"code": "NotNull"
}
],
"message": "Validation failed for object='userVO'. Error count: 2",
"path": "/api/user/add"
}
从这个 JSON,我想提取
"field": "lastName",
"defaultMessage": "Last name should have atleast 1 characters"
并存储在“JSON 对象中的数组”中,如下面的 JSON
{
"lastName":"Last name should have atleast 1 characters ",
"role": "may not be null",
"role": "may not be null"
}
并像上面的 JSON 一样存储在“JSON 对象中的数组”中。我想实现这个数组,希望有人可以帮助。我想实现这个数组,希望有人可以帮助
解决方案
使用“Array.map”您可以实现这一点。
var obj = {
"timestamp": 1541602815150,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.bind.MethodArgumentNotValidException",
"errors": [
{
"codes": [
"Size.userVO.lastName",
"Size.lastName",
"Size.java.lang.String",
"Size"
],
"arguments": [
{
"codes": [
"userVO.lastName",
"lastName"
],
"arguments": null,
"defaultMessage": "lastName",
"code": "lastName"
},
2147483647,
4
],
"defaultMessage": "Last name should have atleast 1 characters ",
"objectName": "userVO",
"field": "lastName",
"rejectedValue": "Shh",
"bindingFailure": false,
"code": "Size"
},
{
"codes": [
"NotNull.userVO.role",
"NotNull.role",
"NotNull.java.lang.Integer",
"NotNull"
],
"arguments": [
{
"codes": [
"userVO.role",
"role"
],
"arguments": null,
"defaultMessage": "role",
"code": "role"
}
],
"defaultMessage": "may not be null",
"objectName": "userVO",
"field": "role",
"rejectedValue": null,
"bindingFailure": false,
"code": "NotNull"
}
],
"message": "Validation failed for object='userVO'. Error count: 2",
"path": "/api/user/add"
}
var result = obj.errors.map(({ field, defaultMessage }) => ({ field, defaultMessage }))
console.log(result)
推荐阅读
- c# - C# mailkit imap 客户端空闲模式没有被取消
- javascript - 在 Cypress 中,如何测试一个属性是否等于多个值之一?
- google-cloud-platform - 将 Google 用户添加到 AI Platform Notebook IAM 权限
- python-3.x - 来自 excel 'numpy.float64' 对象不可迭代
- oracle-sqldeveloper - 使用 WHERE 子句从同一个主表创建两个不同的列
- csvhelper - 编写类似于 CSV 文件的文件
- c - if 语句和 mod(SIZE) 之间的效率差异
- regex - 正则表达式:捕获任何(动态)数量的行
- php - 在 Google Cloud 的 centos 上运行的 Code Igniter 上的内部服务器错误 500
- python - Python:为什么返回语句不起作用?