将带有点表示法的字符串转换为JSON [英] Convert string with dot notation to JSON

查看:191
本文介绍了将带有点表示法的字符串转换为JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定一个字符串作为点符号,我如何从该字符串创建一个对象(检查已经存在的属性):例如

Given a string as dot notation, how would I create an object from that string (checking for already existing properties): eg

var obj = {};
stringToObj('a.b', 'value1', obj);
stringToObj('a.b.c', 'value2', obj);

将产生

{
   "a": {
    "b": {
        "_x": "value1",
        "c": {
            "_x": "value2"
        }
    }
    }
 }

我看过这个问题这一个,但似乎都不足以满足我的需求。

I've looked at this question and this one but neither seems to be sufficient for what Im doing.

有什么想法吗?

推荐答案

您可以利用参考资料:

function stringToObj(path,value,obj) {
    var parts = path.split("."), part;
    while(part = parts.shift()) {
        if( typeof obj[part] != "object") obj[part] = {};
        obj = obj[part]; // update "pointer"
    }
    obj["_x"] = value;
}

这篇关于将带有点表示法的字符串转换为JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆