Обратная косая черта, когда я преобразую свой объект из объекта в массив объекта в Javascript - PullRequest
0 голосов
/ 04 октября 2019

Я работаю над приложением на React-native и хочу сохранить все пользовательские данные на сервере с запросом к API. Но когда я пытался, мой запрос глючил.

{"body": "{
    \"residenceId\": \"5d88dfb55feb4c06a5cfb756\",
    \"date\": \"2019-10-04T16:37:10.048Z\",
    \"espaces\": [
        {
            \"espaceId\": \"5d88dfb55feb4c06a5cfb761\",
            \"photosPath\": [
                \"content://com.immodt.provider/root/storage/emulated/0/Pictures/image-2c97392b-fd7c-4480-9d9e-d055c74cab7e.jpg\"
            ],
            \"comment\": \"Un sol\"
        },
        {
            \"espaceId\": \"5d88dfb55feb4c06a5cfb760\",
            \"photosPath\": [
                \"content://com.immodt.provider/root/storage/emulated/0/Pictures/image-0518bb83-7d66-43f5-a0df-4e803bca50da.jpg\",
                \"content://com.immodt.provider/root/storage/emulated/0/Pictures/image-d416bd03-051f-43f0-8d09-478ad616562a.jpg\"
            ],
            \"comment\": \"Un plafond\"
        }
    ]
}"}

Я не знаю почему.

Я пытался поставить Stringify, я пробовал без stringify, всякий раз, когда "мой"В массиве espaces есть ошибка с stringify. Я думаю, что мой массив является сердцем ошибки. Я видел много тем об ошибках, подобных этой, но никто не нашел моего решения.

Мой метод генерирует мой объект со всеми данными (и изменяет архитектуру)

_saveAllData() {
        const token = this.props.token;
        let data = this.props.picturesAndComment;
        let date = new Date();

        let newData = {
            residenceId: this.props.residence._id,
            date: date,
            espaces: []
        };

        for (let i = 0, c = data.length; i < c; i++) {
            newData.espaces[i] = {
                espaceId: data[i].idSubspace,
                photosPath: [],
                comment: data[i].comment
            };

            for (let j = 0, d = data[i].pictures.length; j < d; j++) {
                newData.espaces[i].photosPath[j] = data[i].pictures[j].uri;
            }
        }
        console.log(newData);
        //this.setState({ isLoading: true });

        /*Promise.all([postVisit(token, newData), postPhoto(token, picturesDataForUpload)]).then((arrayOfResponses) => {
            console.warn(arrayOfResponses);
            this.setState({ isLoading: false });
        }).catch((error) => {
            console.warn('Error :', error);
            this.setState({ isLoading: false });
        });*/
    }
}

Мой метод API для отправкиdata

export function postVisit(token, data) {
    const url = "http://51.91.11.5:8080/visites/";
    const request = {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer ' + token.accessToken
        },
        body: data
    };
    console.log(request);
    return fetch(url, request)
        .then((response) => response.json());
}

Я ожидаю нормального JSON без обратной косой черты везде ...

1 Ответ

0 голосов
/ 06 октября 2019

Проблема решена. Беспокойство касалось скорее API моего клиента, чем моего кода. Спасибо за ваши ответы.

...