gpt4 book ai didi

javascript - 如何解析并连接特定分隔符

转载 作者:行者123 更新时间:2023-12-02 21:40:20 24 4
gpt4 key购买 nike

我的问题是,我必须将 "product_link_href": 之后的所有文本连接到一大堆内容中(其中有 200 多个,所以我无法发布整个内容)喜欢:

Solved snippet removed for privacy reasons

它来自一个api,在windows power shell中是白色的,它的名字是response.data我正在使用axios;我认为这个东西对机器来说只是纯文本,因为在我选择它之前它是绿色的 .data ;但我仍然需要 "product_link_href": 之后的所有文本以文本格式连接并用 ","

分隔

我使用的代码是

axios.get('https://randomapi/' + id + '/json?api_token=examplenotrealapitoken').then(response => {
console.log(response.data);
});

我尝试了 JSON.parse 和 stringify 但没有任何效果。

最佳答案

来自服务器的响应是字符串化的 JSON 对象,这些对象已与行返回字符“\n”连接起来。

它不可解析 JSON,因为它不是一个数组,而数组必须是有效的 JSON。

我采取的方法是将其强制为“字符串化 JSON 对象数组”。由于每个对象都很浅,因此没有嵌套,因此 } 字符明确是字符串化对象的结尾。

您可以调用 massiveJSONishString.split('}'),并获得一组 JSON 字符串化对象,每个对象都缺少尾随 }

然后映射该数组,并为每个元素添加我们丢弃的尾部 } 来对其进行数组化,以及 JSON.parse () 该字符串,生成 JSON 对象数组。

这是您正在寻找的代码:

const textArray = res.data.split("}");

const jsonArray = textArray.map(element => {
try {
return JSON.parse(`${element}}`);
} catch (e) {
return {
product_link_href: "MALFORMED JSON"
};
}
});
// console.log(jsonArray);
const product_link_hrefs = jsonArray.map(obj => obj.product_link_href);
const list = product_link_hrefs.join(", ");

console.log(list);

console.log(`You're welcome!`);

关于javascript - 如何解析并连接特定分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60380988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com