JavaScript嵌套对象

JavaScript嵌套对象,javascript,object,nested,Javascript,Object,Nested,我有一个结构如下的对象: { Name: "Test", OperationProperties.Prop1: "Val1", OperationProperties.Prop2: "Val2", OperationProperties.Prop3: "Val3" } 但我需要将其表示为: { Name: "Test", OperationProperties: { Prop1: "Val1

我有一个结构如下的对象:

{
    Name: "Test",
    OperationProperties.Prop1: "Val1",
    OperationProperties.Prop2: "Val2",
    OperationProperties.Prop3: "Val3"
}
但我需要将其表示为:

{
    Name: "Test",
    OperationProperties: {
                            Prop1: "Val1",
                            Prop2: "Val2",
                            Prop3: "Val3"
                         }
}

请告诉我,除了实现手动强制转换之外,还有其他方法吗?

除了编写代码手动执行此强制转换之外,我没有找到其他方法

function cast(source, prefix) {
    var result = {};

    for (var property in source){
        if(property.startsWith(prefix)){
            var propertyNameWithoutPrefix = property.replace(prefix + '.');
            result[prefix][propertyNameWithoutPrefix] = source[property];
        }else {
            result[property] = source[property]
        }
    }

    return result;
}

我不明白。您的第一个结构不是有效的JavaScript。它是某种序列化格式吗?是的,它是从服务器接收的反序列化结构哦,好的。如果它已经反序列化为JavaScript对象,那么恐怕没有自动的方法将
OperationProperties.PropX
转换为子对象。您必须手动测试属性。但奇怪的是,它是以有效的JSON数据开始的吗?如果是这样,您是否使用
JSON.parse()
来解析它?我已经尝试过这种方法,但不幸的是源代码不是有效的JSON字符串(实际上它是一个具有复杂属性名的JavaScript对象)。对象属性名中可能有点,但它们只能像
obj['property.name']
那样访问。请注意,
a.b.c
a['b.c']
不同。