解析点符号文本配置为Javascript字符串

时间:2016-01-20 12:11:07

标签: javascript c#

我对那里的麸皮有一个有趣的挑战。我试图将一组配置解析为有效的Javascript字符串。如果我用一个例子来解释它可能会更容易,所以这里说: 这是配置项:

Dictionary<string, string> configs = new Dictionary<string, string>();
configs.Add("dxform.dataField", "Description");
configs.Add("dxform.label.location", "left");
configs.Add("dxform.label.text", "Action Description");
configs.Add("dxform.validationRules.[0].type", "required");
configs.Add("dxform.validationRules.[0].message", "Action Description is required");
configs.Add("dxform.validationRules.[1].type", "stringLength");
configs.Add("dxform.validationRules.[1].min", "5");
configs.Add("dxform.validationRules.[1].max", "20");
configs.Add("dxform.validationRules.[1].message", "Description must be between 5 and 20 characters");

我想要做的是将上面的集合解析为以下javascript片段:

{
    dataField : 'Description',
    label: {
        location: 'left',
        text:'Action Description'
    },
    validationRules:[
            {
                type:'required',
                message: 'Action Description is required'
            },
            {
                type:'stringLength',
                min:'5',
                max:'20',
                message: 'Description must be between 5 and 20 characters'
            }
    ]
}

正如你所看到的,我使用点符号来推断javascript选项的嵌套,以及“[]”来推断它是否是一个数组,以及数组中的序列。我解决这个问题的第一个尝试是通过递归,但这样做是想知道是否有更直观的方法来实现这一点。配置语法是我自己的设计,如果需要可以更改。我真的需要实现一种在键/值数据表中表示复杂的,无限嵌套的javascript片段的方法。

任何帮助表示感谢。

0 个答案:

没有答案