我正在使用打字稿文件,我从外部 api 接收 JSON 响应。这里我需要将接收到的 JSON 转换成另一种 JSON 格式。谁能帮忙转换 JSON 格式?
从 API 收到:
type here
Employees: [
{ empid : 12345 },
{ empName: "John Doe" },
{ gender: "Male" },
{ hobbie: "Book" },
{ empid : 12346 },
{ empName: "Jill Doe" },
{ gender: "Female" },
{ hobbie: "Sport" },
.
.
.
]
需要转换成如下:
type here
finalEmployee: [
{
empName : "John Doe",
empDetails: [
{
serialNo : 1,
empid: 12345,
gender : "Male",
hobbie : "Book"
}
},
{
empName : "Jill Doe",
empDetails: [
{
serialNo : 2,
empid: 12346,
gender : "Female",
hobbie : "Sport"
}
},
.
.
.
]
我无法拆分成所需的格式
假设您有一个像这样的简单 JSON 对象:
{
"name": "John",
"age": 30,
"address": "123 Main St"
}
并且您想将其转换为更详细的格式,如下所示:
interface Person {
name: string;
age: number;
address: {
street: string;
city: string;
state: string;
zip: string;
};
}
你可以定义一个匹配更详细格式的接口
Person
,然后用它来将简单的JSON对象映射到想要的格式。
这是 TypeScript 中的示例:
interface Person {
name: string;
age: number;
address: {
street: string;
city: string;
state: string;
zip: string;
};
}
const simplePerson = {
name: "John",
age: 30,
address: "123 Main St",
};
const detailedPerson: Person = {
name: simplePerson.name,
age: simplePerson.age,
address: {
street: simplePerson.address,
city: "",
state: "",
zip: "",
},
};
console.log(detailedPerson); // Output: { name: 'John', age: 30, address: { street: '123 Main St', city: '', state: '', zip: '' } }
在这个例子中,我们定义了
Person
接口更详细的格式。然后我们创建一个 simplePerson
对象来匹配简单的 JSON 对象。
要将
simplePerson
对象转换为detailedPerson
格式,我们创建一个新对象并将每个属性从simplePerson
映射到detailedPerson
中的相应属性。对于 address 属性,我们创建一个新对象,其中 street 属性映射自 simplePerson.address
,其他属性初始化为空字符串。
结果是一个新对象
detailedPerson
匹配Person
界面更详细的格式