Если у меня есть записи для пользователей, а также записи для заказов, их необходимо сохранить следующим образом:
{
"users": [
{"id": "1", "name": "Allan", "age": "40"},
{"id": "2", "name": "Jack", "age": "50"}
],
"orders": [
{ "id": "1", "item": "item 1", "userId": "1"},
{ "id": "2", "item": "item 3", "userId": "1"},
{ "id": "1", "item": "item 4", "userId": "1"},
{ "id": "1", "item": "item 51", "userId": "1"},
{ "id": "2", "item": "item 4", "userId": "1"}
]
}
как вы можете видеть, я прихожу из мира SQL, поэтому я сохраняю данные "заказов" с помощью внешнего ключа, это правильный способ сохранить эти данные как json, и если да, то как я могу заставить всех пользователей иметь там заказы?
Благодарю!
Если ваш объект json находится в вышеупомянутой структуре, вы можете использовать этот код для фильтрации заказов
var oJson = {
"users": [
{"id": "1", "name": "Allan", "age": "40"},
{"id": "2", "name": "Jack", "age": "50"}
],
"orders": [
{ "id": "1", "item": "item 1", "userId": "1"},
{ "id": "2", "item": "item 3", "userId": "1"},
{ "id": "1", "item": "item 4", "userId": "1"},
{ "id": "1", "i'enter code here'tem": "item 51", "userId": "1"},
{ "id": "2", "item": "item 4", "userId": "1"}
]}
for(var i=0; i<oJson.users.length;i++){
for(var j=0; j<oJson.orders.length;j++){
if (oJson.users[i].id == oJson.orders[j].userId) {
console.log( oJson.orders[j].item, oJson.orders[j].userId)
//your logic here
}
}
}
Но лучше использовать sql-суставы для объединения заказов и возврата объектов, подобных этому
{
"users": [
{"id": "1", "name": "Allan", "age": "40","orders": [{ "id": "1", "item": "item 1", "userId": "1"},{ "id": "2","item": "item 3", "userId": "1"},{ "id": "1", "item": "item 4", "userId": "1"},{ "id": "1", "item": "item 51", "userId": "1"},{ "id": "2", "item": "item 4", "userId": "1"}
]},
{"id": "2", "name": "Jack", "age": "50","orders":[]}
]}
Извлечь объекты для json файла в две разновидности
var a = value.users;
var b = value.orders;
значение - это всего лишь весь json файл
то вы можете сопоставить их друг с другом, как
а [0] ==.id б. [0].id