问题描述
我是新手,我必须将其用于实习生的工作。
我有我的本地json文件,并尝试将其转换为HTML。我到处都在搜索,但找不到答案。
我试图这样做:
cat.svelte:
<script>
import {onMount} from "svelte";
let data = [];
onMount(async ()=>{
const response = await fetch("./table_schema_name.json");
data = await response.json();
console.log(data)
});
</script>
<p>displa</p>
{#each data as item}
<div>
<p>{item.table_name}</p>
<p>display</p>
</div>
{/each}
我的JSON文件如下:
table_schema_name.json
[
{"table_schema": "a","table_name": "a1"},{"table_schema": "a","table_name": "a2"},"table_name": "a3"},{"table_schema": "b","table_name": "b1"},"table_name": "b2"}
]
我从控制台收到的错误。
cat.svelte:7 GET http://localhost:3000/table_schema_name.json 404 (Not Found)
cat.svelte:9 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
非常感谢。确实需要使用sveLTE以HTML格式严重显示json文件!
解决方法
如果提供json,我建议您像这样将其本地导入:
<script>
import data from "./path/to/table_schema_name.json";
</script>
{#each data as item}
<div>
<p>{item.table_name}</p>
<p>display</p>
</div>
{/each}
捆绑程序会将其直接注入到生成的代码中,因此服务器不会出现任何问题;)
,在互联网上进行彻底搜索后,我自己设法解决了这个问题。
基本上,我将table_schema_name.json移到了静态文件夹。通过将其移动到静态文件夹,我可以通过URL访问JSON文件。
所以我将代码从以下位置更改:
onMount(async ()=>{
const response = await fetch("./table_schema_name.json");
data = await response.json();
console.log(data)
});
收件人:
import { onMount } from 'svelte';
let data = [];
onMount(async () => {
const res = await fetch('http://localhost:3000/api/table_schema_name.json');
data = await res.json();
});
我希望我能早点发现这个问题,因为我已经浪费了很多时间来解决这个问题。希望我的回答对那些与我面临同样问题的人有所帮助。