gpt4 book ai didi

javascript - 将部分 JSON 字符串输出转换为 bool 值

转载 作者:行者123 更新时间:2023-12-02 16:54:30 24 4
gpt4 key购买 nike

有没有办法将 JSON 字符串的某些部分转换为 bool 值?

我的 JSON 字符串示例:

{
"file_id": {
"width": "560",
"height": "270",
"esc_button": "1",
"overlay_close": "1",
"overlay_opacity": "1"
}
}

如果这是我的个人项目,我相信我只会将 bool 值的输出转换为 true/false 字符串,而不是 1 和 0,但因为它不是我想知道是否有一种方法可以设置 JSON 字符串中的哪些属性是 bool 值。在此示例中, bool 值应为:esc_button,overlay_close,但不是 overlay_opacity...

既然这是 JavaScript 项目,我想知道我的选择是什么,有什么简单的方法可以做到这一点吗?这个 JSON 字符串还有更多设置,我刚刚发布了其中的一部分。设置根据点击事件变化(不同的file_id ===不同的设置)

编辑:

只是想我可以使用parseInt(settings[file_id].esc_button)来获取 bool 值,但我真的必须一直使用它吗?可能还有其他我不知道的方法。

最佳答案

JSON 只是一种数据格式。如果您正在使用的数据选择传递字符串 "0",您将得到字符串 "0",而不是 false

如果“0”不是您想要的程序,您需要稍微处理一下数据。

// for example
var processData = function(jsonString) {
var data = JSON.parse(jsonString);
data.esc_button = (data.esc_button == "1");
return data;
};

JSON.parse() 本身没有提供执行此操作的方法。它只是对源中的数据进行解码。如果您需要不同的东西,您需要翻译。

<小时/>

理想情况下,您应该让数据源以更好的格式提供此数据。如果它具有真正的 bool 文字值,则您根本不必进行任何翻译。

{
"file_id": {
"width": 560,
"height": 270,
"esc_button": true,
"overlay_close": false,
"overlay_opacity": 1
}
}

如果您的 JSON 看起来像这样,您只需解析它即可完成。通过删除宽度和高度中的引号,这些现在是不需要翻译即可在其他数学中使用的数值。通过报告 bool 值的 truefalse ,这些值将被解析为 bool 文字,而不是字符串。这一切都正常。

这也解决了歧义。在原始 JSON 中,您有 "1" 代表 true"1" 代表 opacity 值,我假设预期是一个从 0 到 1 的数字。现在您可以查看原始 JSON 数据并查看差异。

关于javascript - 将部分 JSON 字符串输出转换为 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26287140/

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