Точное конкретное значение из Json в "Массивы в объектах JSON" REACTjs - PullRequest
0 голосов
/ 07 ноября 2018

В принципе, я хочу разобрать этот 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 выше , Я хочу достичь этого массива, надеюсь, кто-то может помочь , Я хочу достичь этого массива, надеюсь, кто-то может помочь

1 Ответ

0 голосов
/ 07 ноября 2018

Используя «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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...