我有正在使用nodeJS读取的csv文件。我在阅读之前将每个文件转换为文本。
文件中的每一行都有以’=’分隔的数据。
每行看起来像
data.location.degree.text=sometexthere
“ =“之前的第一部分代表我应用程序中json对象的索引。我的目的是解析此数据并为其构建json表示,以便上面的行成为
data:{ location:{ degree:{ text: 'sometexthere' } } }
使用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);