Найдите в файле json значение только с помощью javascript и fs

#javascript #json #object

Вопрос:

я хочу создать функцию javascript для поиска в файле json объекта со значением.

 getByValue(value) {
//the code            
}
 

Когда я вызываю функцию, мне нужно выполнить поиск в файле json (путь «./база данных/таблица.json»), который я передал с параметром value, и вернуть имя объекта.

Пример:

 JSON file: 
{"name": "test"}
getByValue(value) {
//code for search into the file           
}

//search on the json file a object value with "test"
console.log(getByValue("test"))
//expected output: "name"
 

Ответ №1:

Вы можете сделать что-то вроде этого :

 const json = { "name": "test" , "name1" : "test1"}

const getByValue = value => {
  for (let key of Object.keys(json)) if (json[key] === value) return key;
}

//search on the json file a object value with "test"
console.log(getByValue("test"))
//expected output: "name" 

Ответ №2:

Сначала вам нужно загрузить этот JSON в среду JS и проанализировать его для чтения. В node.js вы можете сделать что-то вроде этого

 const jsonFromFile = require('filepath/file.json')
 

После прочтения JSON вам просто нужно найти ключ, в котором задано значение. К этому существует несколько подходов. Базовым решением является необходимость перебора объекта и поиска соответствующего значения.
Один из таких подходов:

 const findKeyBasedOnValue = (obj, value) => Object.keys(obj).find((key) => obj[key] === value)

const data = {a: 'no-test', b: 'test'}

console.log(findKeyBasedOnValue(data, 'test')) // b