将JS单行对象实例化转换为块实例化

时间:2016-01-25 21:47:38

标签: javascript text-parsing

我有用户指定的输入,如下所示:

outerObject = {};
outerObject.innerObject = {};
outerObject.innerObject.key = 'value';
outerObject.innerObject.exampleTwo = 2;

重复几千行的一般模式,你会看到这看起来有点乏味,难以维护。我想做的是将这些行输出为:

outerObject = {
    innerObject: {
        key: 'value',
        exampleTwo: 2
    }
};

是否有现有的库将单行对象创建转换为上面显示的块创建?如果没有,请注意可能的代码?我从根本上感到困惑,从哪里开始,我甚至无法弄清楚如何嵌套物体,所以任何帮助都会很棒。

编辑:我偶然发现this accepted answer for a different issue。在从第一个块中的四行中的每一行分割值和键之后,它似乎以我想要的方式格式化对象。它不包括任何类型的输出格式,但是......

1 个答案:

答案 0 :(得分:1)

  

此方法仅在所有对象都是静态/类JSON时才有效,这意味着   没有功能或任何东西

您可以在浏览器(或浏览器控制台或任何js上下文,如Node)中评估您的输入:

<script>
    outerObject = {};
    outerObject.innerObject = {};
    outerObject.innerObject.key = 'value';
    outerObject.innerObject.exampleTwo = 2;
</script>

然后只返回JSON.stringify(outerObject, null, ' ')

"{
    "innerObject": {
        "key": "value",
        "exampleTwo": 2
    }
}"

您接下来要做的就是在前面添加"outerObject = "