在javascript中将字符串从JSON数组转换为另一个数组
Turn string from JSON array into another array in javascript
我正在尝试移植以下代码以使用 JSON 文件 http://malamas.com/jsuc/jsuc.html目前,我已经设法采用了其中的"单位"和"因子"部分:
property[0] = "Acceleration";
unit[0] = new Array("Meter/sq.sec (m/sec^2)", "Foot/sq.sec (ft/sec^2)", "G (g)", "Galileo (gal)", "Inch/sq.sec (in/sec^2)");
factor[0] = new Array(1, .3048, 9.806650, .01, 2.54E-02);
并将它们放入 JSON 行中:
var text = '{"Accelleration": { "unit":"''"Meter/sq.sec (m/sec^2)''", ''"Foot/sq.sec (ft/sec^2)''", ''"G (g)''", ''"Galileo (gal)''", ''"Inch/sq.sec (in/sec^2)''"", "factor":"1, .3048, 9.806650, .01, 2.54E-02"}}'
var obj = JSON.parse(text);
我可以像这样输出为字符串
"Meter/sq.sec (m/sec^2)", "Foot/sq.sec (ft/sec^2)", "G (g)", "Galileo (gal)", "Inch/sq.sec (in/sec^2)"
但我希望能够通过这样做将其输入到顶部代码中:
property[0] = "Acceleration";
unit[0] = new Array(obj.Accelleration.unit);
factor[0] = new Array(obj.Accelleration.factor);
不幸的是,当我这样做时,单位 [0][0] 会提出同样的事情;
"Meter/sq.sec (m/sec^2)", "Foot/sq.sec (ft/sec^2)", "G (g)", "Galileo (gal)", "Inch/sq.sec (in/sec^2)"
如何使它作为一个数组工作?谢谢!
JSON 中的内容是一个包含字符串表示形式的字符串。由于该表示形式不是 JSON,因此您无法直接解析它(但您可以通过在其周围添加括号将其转换为 JSON)。
不要使用包含字符串的字符串,而是使其成为包含字符串的数组。然后当你解析它时,你已经有了数组:
var text = '{"Accelleration": { '+
'"unit": ["Meter/sq.sec (m/sec^2)", "Foot/sq.sec (ft/sec^2)", "G (g)", "Galileo (gal)", "Inch/sq.sec (in/sec^2)" ], '+
'"factor": [ 1, .3048, 9.806650, .01, 2.54E-02 ]'+
'}}'
var obj = JSON.parse(text);
现在你有了你的数组,除了从对象中获取它们之外,不需要做任何事情:
unit[0] = obj.Accelleration.unit;
factor[0] = obj.Accelleration.factor;
相关文章:
- 使用JS将数组转换为json对象
- 本地存储中的字符串到字节数组转换
- Javascript函数,用于将数组转换为“;2-元组”;
- php数组转换为javascript
- 在Javascript中将一个值和字符串数组转换为if语句
- 将数组转换为javascript格式的字符串
- 如何将数组转换为有效的json
- JSON数组转换为JS对象数组
- 如何将数组转换为映射
- JavaScript:将字符串数组转换为文本区域
- javascript |数组转换
- 数组转换为多个字符串
- Javascript将数组转换为字符串并使其反向输出
- 将Byte数组转换为Angularjs中的Base64字符串
- 将对象数组转换为与nodejs/pg/unnest兼容的数组
- 将Javascript数组转换为PHP数组
- 将数组转换为键值对
- 使用Ramda将对象数组转换为普通对象
- javascript将对象数组转换为字符串以存储在s3中
- 使用.join方法将数组转换为不带逗号的字符串