Как разобрать json в angular 7?

ElementTree не слишком разбирается в пространствах имен. Вы должны дать методам .find(), findall() и iterfind() явный словарь пространств имен. Это не очень хорошо документировано:

namespaces = {'owl': 'http://www.w3.org/2002/07/owl#'} # add more as needed

root.findall('owl:Class', namespaces)

Префиксы только просмотрены в параметре namespaces, который вы проходите. Это означает, что вы можете использовать любой префикс пространства имен, который вам нравится; API отделяет часть owl:, просматривает соответствующий URL-адрес пространства имен в словаре namespaces, а затем изменяет поиск, чтобы искать выражение XPath {http://www.w3.org/2002/07/owl}Class. Вы тоже можете использовать тот же синтаксис:

root.findall('{http://www.w3.org/2002/07/owl#}Class')

Если вы можете переключиться на библиотеку lxml , все будет лучше; эта библиотека поддерживает один и тот же API ElementTree, но собирает пространства имен для вас в атрибуте .nsmap для элементов.

-1
задан hkanjih 4 March 2019 в 03:48
поделиться

2 ответа

Вам нужно что-то подобное, используя ngFor ,

<table class="table table-striped">
        <thead>
            <tr>
                <th>Id</th>
                <th>Workorder No</th>
            </tr>
        </thead>
        <tbody>
           <tr *ngFor="let work of data.workorder">
            <td>{{work?.id}}</td>
            <td>{{work?.Workorderno}}</a></td>
           </tr>
        </tbody>
    </table>
</div>

, и ваш интерфейс должен быть таким,

  export interface Workorder {
        id: number;
        Workorderno: number;
        Nfno: number;
        Amount: number;
        Orderno: number;
        createdAt: string;
        updatedAt: string;
    }

, а затем в вашем компоненте ,

  data : Workorder;
  constructor(private service: nowService) {

  }

  ngOnInit() {
    this.service.getAll().subscribe((data) => {
       this.data = data;
    })
  }
}
0
ответ дан Sajeetharan 4 March 2019 в 03:48
поделиться

Попробуйте добавить в тег tr: ngIf = "data.workorder! = Null"

0
ответ дан jone 4 March 2019 в 03:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: