получить только определенный элемент базы данных JSON, хранящейся на сервере, по запросу URL - PullRequest
0 голосов
/ 09 февраля 2019

мой веб-сайт опирается на базу данных, которая представляет собой большой JSON-файл, подобный следующему:

var myjsonData = 
[ {
"ID": 0,
"name": "Henry",
"surname": "McLarry",
"...": "...",
}]

Я генерирую эти данные каждый месяц по высокой цене для меня, поэтому я хотел бы не называть их прямо вмой HTML <head>, потому что это позволит любому пользователю в кратчайшие сроки загрузить полную базу данных.

Я хотел бы создать «что-то», которое может вызывать только определенные элементы из файла JSON (толькоодин, который я хочу показать), не «выставляя» полный .json на сторону клиента.

сегодня я использую вызов

var myvar= myjsonData.ID.Name

, чтобы получить «Генри» вmyvar, я хотел бы построить что-то вроде

var myvar = mycallfunction(ID,Name)

Я пробовал использовать PHP в качестве посредника, но вызовы ajax из javacript не позволяют мне получать данные.

Могу ли я использоватьJQuery с JSON Url, чтобы получить только тот элемент, который мне нужен?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Итак, у вас есть база данных NoSQL, в которой есть только один вид документа, который является полным элементом JSON, который вы используете на своем веб-сайте.В этом сценарии у вас есть три варианта:

  1. В зависимости от базы данных NoSQL, которую вы используете, вы можете ограничить поля, которые будут возвращены (т. Е. Для MongoDB вы можете посмотреть здесь: https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/)

  2. Измените способ хранения ваших данных в более модульные документы и создайте логику для их подключения в вашем приложении. Поэтому вместо одного большого документа вы будете иметь модульные документы в виде пользователей, продуктов, транзакций.и т. д., и вы можете использовать свое приложение для запроса их по отдельности.

  3. Создание логики на стороне сервера в качестве API для работы с вашими данными и предоставления только того, что вам нужно, поэтому API (которыйможет быть node.js, php или любой другой, который вам может понравиться) получит полный JSON, его конечные точки будут содержать только те данные, которые вам нужны. Например: myapi.com/getUser, myapi.com/getProducts и т. д.

Если вы сможете предоставить больше информации о технологиях, которые вы используете, это поможет нам. Надеюсь, что это помогло :).

0 голосов
/ 09 февраля 2019

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

var myjsonData = '{"ID": 0,"name": "Henry","surname": "McLarry"}';
obj = JSON.parse(myjsonData);
console.log(myjsonData.ID);           //print the id
console.log(myjsonData.name);         //print the name
console.log(myjsonData.surname);      //print the surname
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...