Как получить данные из двух объектов в файле JSON?

0

Если у меня есть записи для пользователей, а также записи для заказов, их необходимо сохранить следующим образом:

{
    "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, и если да, то как я могу заставить всех пользователей иметь там заказы?

Благодарю!

  • 0
    поставить свой вид и код контроллера
  • 0
    Просто оставьте присоединиться к ним на сервере.
Показать ещё 6 комментариев
Теги:

2 ответа

0
Лучший ответ

Если ваш объект 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":[]}
]}
0

Извлечь объекты для json файла в две разновидности

var a = value.users;

var b = value.orders;

значение - это всего лишь весь json файл

то вы можете сопоставить их друг с другом, как

а [0] ==.id б. [0].id

Ещё вопросы

Сообщество Overcoder
Наверх
Меню