Как превзойти массив, находящийся внутри сложного объекта JSON? - PullRequest
0 голосов
/ 08 октября 2018

У меня есть сложный объект JSON, подобный этому

{
    "product": {
        "expiry_type": {
            "type": "premium"
        },
        "accout_holders": {
            "admin": {
                "name": "Admin",
                "description": "Admin"
            }
        },
        "productId": "apple-inc",
        "description": "Apple Incorporation"
    },
    "sales": {
        "datasource": [{
            "name": "USA",
            "type": "direct",
            "uri": "https://www.apple.com/"
        }],
        "apps": {},
        "saleID": "SEIO578ed57EI"
    }
}

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

1 Ответ

0 голосов
/ 14 октября 2018

Все очень просто, каждому объекту JSON присваивается такое имя:

 {
    	"product": {
    		"expiry_type": {
    			"type": "premium"
    		},
    		"accout_holders": {
    			"admin": {
    				"name": "Admin",
    				"description": "Admin"
    			}
    		},
    		"productId": "apple-inc",
    		"description": "Apple Incorporation"
    	},
    	"sales": {
    		"datasource": [{
    			"name": "USA",
    			"type": "direct",
    			"uri": "https://www.apple.com/"
    		}],
    		"apps": {},
    		"saleID": "SEIO578ed57EI"
    	}
    }

Теперь доступ к массиву, источнику данных в приведенном выше случае, выполняется следующим образом: name.product.sales.datasource[0]

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

<mat-chip *ngFor="let ds of name.product.sales.datasource"  matTooltip="{{ds.url}}">
        {{ds.name}}
      </mat-chip>

при этом отобразится весь источник данных name объект в чипе, и если вы наведете курсор на чип, вы увидите url как всплывающие подсказки.

...