Показать сообщение отдельно
  #7 (permalink)  
Старый 05.12.2021, 19:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

u015173353@mail.ru,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
</head>
<body>
<textarea id='text'>
{
    "TaggedPDF": {
        "Part": [
            {
                "H3": "Раздел",
                "Sect": {
                    "Sect": [
                        {
                            "H4": "Таблица",
                            "P": [
                                "Состав",
                                "тип"
                            ],
                            "Table": [
                                {
                                    "TR": [
                                        {
                                            "TH": [
                                                "Номер",
                                                "Наименование",
                                                "Ед. изм.",
                                                "101",
                                                "102",
                                                "103",
                                                "104"
                                            ]
                                        },
                                        {
                                            "TH": [
                                                "100",
                                                "Затраты",
                                                "ч"
                                            ],
                                            "TD": [
                                                "154",
                                                "185",
                                                "227",
                                                "0,319"
                                            ]
                                        },
                                        {
                                            "TH": [
                                                "0101",
                                                "разряд",
                                                "-"
                                            ],
                                            "TD": [
                                                "3,8",
                                                "3,8",
                                                "3,8",
                                                "3,8"
                                            ]
                                        },
                                        {
                                            "TH": [
                                                "0100",
                                                "Затраты",
                                                "ч"
                                            ],
                                            "TD": [
                                                "0,8",
                                                "0,965",
                                                "0,175",
                                                "0,66"
                                            ]
                                        },
                                        {
                                            "TH": [
                                                "",
                                                "МЕХАНИЗМЫ",
                                                ""
                                            ],
                                            "TD": [
                                                "",
                                                "",
                                                "",
                                                ""
                                            ]
                                        },
                                        {
                                            "TH": "0302",
                                            "TD": [
                                                "Топор",
                                                "ч",
                                                "16",
                                                "193",
                                                "235",
                                                "332"
                                            ]
                                        },
                                        {
                                            "TH": "0204",
                                            "TD": [
                                                "Молоток",
                                                "ч",
                                                "16",
                                                "193",
                                                "235",
                                                "332"
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "H4": "Таблица",
                            "P": "Состав",
                            "Table": [{
                                "TR": [
                                    {
                                        "TH": [
                                            "Номер",
                                            "Наименование",
                                            "Ед. изм.",
                                            "701"
                                        ]
                                    },
                                    {
                                        "TD": [
                                            "0100",
                                            "Затраты",
                                            "ч",
                                            "71"
                                        ]
                                    },
                                    {
                                        "TD": [
                                            "",
                                            "МЕХАНИЗМЫ",
                                            "",
                                            ""
                                        ]
                                    },
                                    {
                                        "TD": [
                                            "0102",
                                            "Молоток",
                                            "ч",
                                            "71"
                                        ]
                                    }
                                ]
                            }]
                        }
                    ]
                }
            }
        ]
    }
}
</textarea>
<script>
window.onload = parse;   // при загрузке
function line(a){
 // console.log ('key=Table содержимое ', a);  // рабочий вариант в 2х таблицах
  console.log('key=Table TR ', a[0].TR); // для второй таблицы должно работать но нет
}
function traverse(jsonObj){
    if (jsonObj !== null && typeof jsonObj == "object" ) {			// проверка на объект
        Object.entries(jsonObj).forEach(([key, value]) => {
        	// перебираем таблицы ключ значение
            if (key=="Table") {	  									//если ключ равняется Table
                line(value); // обрабатываем дальше
                }
            traverse(value);      // перебор вложения
        });
    }
}
function parse() {
let obj = JSON.parse(document.getElementById('text').value);
traverse(obj.TaggedPDF.Part[0].Sect.Sect); // выбираю нужную часть json
}
</script>
</body>
</html>
Ответить с цитированием