#javascript #json #if-statement
#javascript #json #if-оператор
Вопрос:
Наша школа получает данные из источника во время синхронизации.
Я знаком с JavaScript, но хотел бы попросить небольшой помощи, прежде чем вносить изменения.
Вот сценарий: источник, отправляющий нам информацию, имеет значение по умолчанию как «tobedeleted». Нам нужно, чтобы это было переведено в «деактивировать». а затем поместить в нашу базу данных.
Я думаю, то, что отправляется, просто игнорируется, потому что оно не соответствует ни одному из наших значений enum.
Моя идея состоит в том, чтобы получить справку о написании: если значение get = «tobedeleted», затем переведите его в «деактивировать», а затем обновите нашу базу данных.
{
"path": "/v1/courses/{course_id}/enrollments/{id}",
"description": "Conclude, deactivate, or delete an enrollment. If the task argument isn't given, the enrollmentnwill be concluded.",
"operations": [
{
"method": "DELETE",
"summary": "Conclude, deactivate, or delete an enrollment",
"notes": "Conclude, deactivate, or delete an enrollment. If the task argument isn't given, the enrollmentnwill be concluded.",
"nickname": "conclude_deactivate_or_delete_enrollment",
"parameters": [
{
"paramType": "path",
"name": "course_id",
"description": "ID",
"type": "string",
"format": null,
"required": true,
"deprecated": false
},
{
"paramType": "path",
"name": "id",
"description": "ID",
"type": "string",
"format": null,
"required": true,
"deprecated": false
},
{
"paramType": "query",
"name": "task",
"description": "The action to take on the enrollment.nWhen inactive, a user will still appear in the course roster to admins, but be unable to participate.n("inactivate" and "deactivate" are equivalent tasks)",
"type": "string",
"format": null,
"required": false,
"deprecated": false,
"enum": [
"conclude",
"delete",
"inactivate",
"deactivate"
]
}
],
"response_fields": [
],
"deprecated": false,
"deprecation_description": "",
"type": "Enrollment"
}
]
},
Заранее благодарю!
Комментарии:
1. вы получаете данные из x, а затем вам нужно взять эти данные (возможно, изменить их) и отправить их в другую базу данных?
2. ДА. Я считаю, что именно так это работает. Мы получаем значение от X и должны обновить Y (с другим значением, чем отправленное X)
Ответ №1:
Давайте присвоим JSON переменной с именем data . Затем вы можете сделать
data.operations.map((operation) => {
if (operation.method === 'DELETE') {
operation.parameters.map((param, queryIndex) => {
if (param.paramType === 'query') {
param.enum.map((item, enumIndex) => {
if (item === 'tobedeleted') {
operation.parameters[queryIndex].enum[enumIndex] = 'inactivate';
//item = 'inactivate';
}
});
}
});
}
return operation;
});
Примечание: Это может быть не оптимизированный код, но он выполняет свою работу.
Комментарии:
1. Этот скрипт выглядит идеально. Простите мое невежество. Там, где вы написали «item», это именно то, что вы предлагаете («item»), или мне следует искать другой термин / переменную? Этот файл имеет размер 1400 строк плюс.
2. Извините, Энтони, я не понял вашего вопроса
3. Вам нужно упростить данные. Вам нужно выяснить, в каком случае вы получаете это конкретное значение, которое вы ищете. Как я вижу из json, когда ParamType является запросом, выберите этот конкретный блок и измените.
4. Нет, вы не можете добавить ничего подобного в JSON. Я попытаюсь отредактировать свой фрагмент кода
5. Я разместил ссылку на файл. Я просто не знаю, где в файле (номер строки) разместить скрипт. Я боюсь испортить остальную часть кода на основе размещения. freedomcheck.com/enrollments.json