C S*_*ott 0 javascript json node.js ecmascript-6
我有正在使用nodeJS读取的csv文件。我在阅读之前将每个文件转换为文本。
文件中的每一行都有以'='分隔的数据。
每行看起来像
data.location.degree.text=sometexthere
Run Code Online (Sandbox Code Playgroud)
“ =“之前的第一部分代表我的应用程序中json对象的索引。我的目的是解析此数据并为其构建json表示,以便上面的行成为
data:{
location:{
degree:{
text: 'sometexthere'
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用javascript / node js; 如何将应该表示嵌套JSON键序列的字符串转换为上述json对象?
您可以分割路径并检查以下元素是否存在。如果没有,则将对象分配给新属性。
然后返回该属性的值。
最后分配值。
function setValue(object, path, value) {
path = path.replace(/[\[]/gm, '.').replace(/[\]]/gm, ''); //to accept [index]
var keys = path.split('.'),
last = keys.pop();
keys.reduce(function (o, k) { return o[k] = o[k] || {}; }, object)[last] = value;
}
var data = {};
setValue(data, 'location.degree.text', 'sometexthere');
console.log(data);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1098 次 |
| 最近记录: |