Получаю json такого вида:
{
"200000006002":{"21473":{"IID":"200000006002","MED_ID":"21473","MED_NAME":"Камирен таб 4мг №30","VENDOR_NAME":"KRKA d.d. Novo Mesto","COUNTRY_NAME":"Словения","KIND_ID":"1","KIND_NAME":"Лекарственные средства","VENDORBARCODE":"3838989539887","RPRICE":"634,2","SRICEWNDS":"558,15","RATE":"14,99","PART_ID":"77001","DPRICE":"634,2","QTTY":"1","PREPAY_ENABLE":"0","INTER_ID":"1390","INTER_NAME":"Doxazosin","PHARM_ID":"7","PHARM_NAME":"Альфа-адреноблокаторы","IS_NARC":"0","TK_ID":"564000","TK_NAME":"Средства для лечения ДГПЖ","TKR_ID":"34000","TKR_NAME":"Урология. Нефрология. Андрология","VALID_DATE":"01.04.2022","NDS":"10" ,"GTD":"10013040/120717/0000259","MAX_OTP":"0"
}},
"200000037002":{"10001891":{"IID":"200000037002","MED_ID":"10001891","MED_NAME":"Перчатки полиэтил Пеха-Фол р.1 №100 д/женщин","VENDOR_NAME":"Paul Hartmann AG","COUNTRY_NAME":"Германия","KIND_ID":"7","KIND_NAME":"Изделия медицинского назначения","RPRICE":"184","SRICEWNDS":"152,93","RATE":"20,32","PART_ID":"152001","DPRICE":"184","QTTY":"1","PREPAY_ENABLE":"0","IS_NARC":"0","TK_ID":"538000","TK_NAME":"Перчатки резиновые и латексные","TKR_ID":"976000","TKR_NAME":"Санитарно-защитные изделия","VALID_DATE":"31.12.2020","NDS":"18" ,"GTD":"10013010/100717/0000405/1","BRAND_ID":"71001","BRAND_NAME":"ПаульХартманн","MAX_OTP":"0"
}},
"200000038002":{"10001877":{"IID":"200000038002","MED_ID":"10001877","MED_NAME":"Перчатки полиэтил Пеха-Фол р.2 №100 д/мужчин","VENDOR_NAME":"Paul Hartmann AG","COUNTRY_NAME":"Германия","KIND_ID":"7","KIND_NAME":"Изделия медицинского назначения","RPRICE":"184","SRICEWNDS":"152,93","RATE":"20,32","PART_ID":"152001","DPRICE":"184","QTTY":"1","PREPAY_ENABLE":"0","IS_NARC":"0","TK_ID":"538000","TK_NAME":"Перчатки резиновые и латексные","TKR_ID":"976000","TKR_NAME":"Санитарно-защитные изделия","VALID_DATE":"31.12.2020","NDS":"18" ,"GTD":"10130110/170816/0002902/1","BRAND_ID":"71001","BRAND_NAME":"ПаульХартманн","MAX_OTP":"0"
}}
}
И вот мой js:
var cart = {}; //моя корзина
function init() {
//вычитываем файл goods.json
$.getJSON("goods.json", goodsOut);
}
function goodsOut(data) {
//вывод на страницу
var out = '';
for (var key in data) {
out+='<tr class="cart_tovar">';
out+='<td>';
out+='<p class="tovar_name">'+data[key].MED_NAME+'</p>';
out+='<p class="tovar_name_desc">'+data[key].description+'</p>';
out+='</td>';
out+='<td>';
out+='<p class="tovar_manufacturer">'+data[key].VENDOR_NAME+'</p>';
out+='<p class="tovar_country">'+data[key].COUNTRY_NAME+'</p>';
out+='</td>';
out+='<td class="tovar_cost">от '+data[key].RPRICE+' ₽</td>';
out+='<td class="tovar_apteka">'+data[key].apteki+'</td>';
out+='<td>';
out+='<button class="add-to-cart" data-id="'+key+'">В корзину</button>';
out+='</td>';
out+='</tr>';
}
$('.goods-out').html(out);
$('.add-to-cart').on('click', addToCart);
}
function addToCart() {
//добавляем товар в корзину
var id = $(this).attr('data-id');
if (cart[id]!=undefined) {
cart[id]++;
}
else {
cart[id] = 1;
}
showMiniCart();
saveCart();
}
function saveCart() {
//сохраняю корзину в localStorage
localStorage.setItem('cart', JSON.stringify(cart));
}
function showMiniCart(){
//показываю содержимое корзины
var out = Object.keys(cart).length;
$('.mini-cart').html(out);
}
function loadCart() {
//проверяю есть ли в localStorage запись car
if (localStorage.getItem('cart')) {
//если есть - расшифровываю и записываю в переменную cart
cart = JSON.parse(localStorage.getItem('cart'));
showMiniCart();
}
}
$(document).ready(function () {
init();
loadCart();
});
Не могу понять, где ошибка, почему не выводит на страницу.
При первом переборе, вы достаете объекты внутри которых еще объекты. То есть вам надо полученный объект снова перебрать, и уже из него выводить свойства. Для примерна на первой итерации вы получаете объект:
{
21473:{
COUNTRY_NAME: "Словения"
DPRICE: "634,2"
GTD: "10013040/120717/0000259"
IID: "200000006002"
INTER_ID: "1390"
INTER_NAME: "Doxazosin"
IS_NARC: "0"
KIND_ID: "1"
KIND_NAME: "Лекарственные средства"
MAX_OTP: "0"
MED_ID: "21473"
MED_NAME: "Камирен таб 4мг №30"
NDS: "10"
PART_ID: "77001"
PHARM_ID: "7"
PHARM_NAME: "Альфа-адреноблокаторы"
PREPAY_ENABLE: "0"
QTTY: "1"
RATE: "14,99"
RPRICE: "634,2"
SRICEWNDS: "558,15"
TKR_ID: "34000"
TKR_NAME: "Урология. Нефрология. Андрология"
TK_ID: "564000"
TK_NAME: "Средства для лечения ДГПЖ"
VALID_DATE: "01.04.2022"
VENDORBARCODE: "3838989539887"
VENDOR_NAME: "KRKA d.d. Novo Mesto"
}
}
И у этого объекта есть свойство 21473
и нет свойств MED_NAME
и т.д. Вам необходимо зайти внутрь этого объекта, и тогда уже будет доступ к нужным вам свойствам.
let data = { "200000006002":{"21473":{"IID":"200000006002","MED_ID":"21473","MED_NAME":"Камирен таб 4мг №30","VENDOR_NAME":"KRKA d.d. Novo Mesto","COUNTRY_NAME":"Словения","KIND_ID":"1","KIND_NAME":"Лекарственные средства","VENDORBARCODE":"3838989539887","RPRICE":"634,2","SRICEWNDS":"558,15","RATE":"14,99","PART_ID":"77001","DPRICE":"634,2","QTTY":"1","PREPAY_ENABLE":"0","INTER_ID":"1390","INTER_NAME":"Doxazosin","PHARM_ID":"7","PHARM_NAME":"Альфа-адреноблокаторы","IS_NARC":"0","TK_ID":"564000","TK_NAME":"Средства для лечения ДГПЖ","TKR_ID":"34000","TKR_NAME":"Урология. Нефрология. Андрология","VALID_DATE":"01.04.2022","NDS":"10" ,"GTD":"10013040/120717/0000259","MAX_OTP":"0" }}, "200000037002":{"10001891":{"IID":"200000037002","MED_ID":"10001891","MED_NAME":"Перчатки полиэтил Пеха-Фол р.1 №100 д/женщин","VENDOR_NAME":"Paul Hartmann AG","COUNTRY_NAME":"Германия","KIND_ID":"7","KIND_NAME":"Изделия медицинского назначения","RPRICE":"184","SRICEWNDS":"152,93","RATE":"20,32","PART_ID":"152001","DPRICE":"184","QTTY":"1","PREPAY_ENABLE":"0","IS_NARC":"0","TK_ID":"538000","TK_NAME":"Перчатки резиновые и латексные","TKR_ID":"976000","TKR_NAME":"Санитарно-защитные изделия","VALID_DATE":"31.12.2020","NDS":"18" ,"GTD":"10013010/100717/0000405/1","BRAND_ID":"71001","BRAND_NAME":"ПаульХартманн","MAX_OTP":"0" }}, "200000038002":{"10001877":{"IID":"200000038002","MED_ID":"10001877","MED_NAME":"Перчатки полиэтил Пеха-Фол р.2 №100 д/мужчин","VENDOR_NAME":"Paul Hartmann AG","COUNTRY_NAME":"Германия","KIND_ID":"7","KIND_NAME":"Изделия медицинского назначения","RPRICE":"184","SRICEWNDS":"152,93","RATE":"20,32","PART_ID":"152001","DPRICE":"184","QTTY":"1","PREPAY_ENABLE":"0","IS_NARC":"0","TK_ID":"538000","TK_NAME":"Перчатки резиновые и латексные","TKR_ID":"976000","TKR_NAME":"Санитарно-защитные изделия","VALID_DATE":"31.12.2020","NDS":"18" ,"GTD":"10130110/170816/0002902/1","BRAND_ID":"71001","BRAND_NAME":"ПаульХартманн","MAX_OTP":"0" }} }
function goodsOut(data) {
//вывод на страницу
var out = '';
for (var key in data) {
for(item in data[key]){
out+='<tr class="cart_tovar">';
out+='<td>';
out+='<p class="tovar_name">'+data[key][item].MED_NAME+'</p>';
out+='<p class="tovar_name_desc">'+data[key][item].TK_NAME+'</p>';
out+='</td>';
out+='<td>';
out+='<p class="tovar_manufacturer">'+data[key][item].VENDOR_NAME+'</p>';
out+='<p class="tovar_country">'+data[key][item].COUNTRY_NAME+'</p>';
out+='</td>';
out+='<td class="tovar_cost">от '+data[key][item].RPRICE+' ₽</td>';
out+='<td class="tovar_apteka">'+data[key][item].apteki+'</td>';
out+='<td>';
out+='<button class="add-to-cart" data-id="'+data[key][item].BRAND_ID+'">В корзину</button>';
out+='</td>';
out+='</tr>';
}
}
$('.goods-out').html(out);
}
goodsOut(data);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='goods-out'></div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть блок, который создает 5 input элементов при нажатии на кнопку, в этих input элементах у меня должна быть маска для вводаИспользую jquery mask Но, у меня...
Есть передвижной маркер Google и при перемещении могу записать новые координаты в файл для этого использую следующий код JS
Возникла проблема при сохранение файла на сервереЕсть vue компонент:
Наверное, я буду уже миллиардным человеком, который спросит как сделать так, чтобы mysql начал понимать русский языкЯ перепробовал все доступные...