json Angular 数据显示为单盲格式

sd2nnvve  于 2023-04-22  发布在  Angular
关注(0)|答案(2)|浏览(85)

前端有测试数据显示

{"id" : "49", "users" : {"type" : "test"}}

在angular html文件中,test是从API服务调用中得到的列表

get().subscribe((resp)=>{
  this.test = resp["data"];
})
<td>{{test.name}}</td>
<td>{{test.json}}</td>

我想要的是做测试节目的格式

{
 "id" : "49", 
 "users" : {"type" : "test"}
}

我尝试添加{{test.json|json}}使用json管道,但html显示“{\r\n\r\n}”
我还在组件中添加了parseJson,{{parseJson(test.json)}},html get [object Object]

parseJson(str:string):any{
   return JSON.parse(str);
 }

因为“\r\n”,我尝试了{{parseJson(test.json)}}

parseJson(str:string):any{
    console.log(str);
    console.log(str.includes("\r\n")); // it's true
}

控制台显示html

{
 "id" : "49", 
 "users" : {"type" : "test"}
}

但在html中没有换行符

<td>{{parseJson(test.json)}}</td>
disho6za

disho6za1#

要在HTML页面上格式化JSON,您可以使用JsonPipe。您也可以将其 Package 在pre标记中以保持正确的格式。这里是一个StackBlitz,它展示了它是如何工作的。

@Component({
  selector: 'my-app',
  standalone: true,
  imports: [CommonModule],
  template: `
    <h1>JSON Formatting</h1>
    <pre>
{{jsonData | json}}
    </pre>
  `,
})
export class App {
  jsonData = { id: '49', users: { type: 'test' } };
}
i86rm4rw

i86rm4rw2#

在控制台格式化,最后在空白处添加css样式:预线

相关问题