代码之家  ›  专栏  ›  技术社区  ›  StuartDTO

JSON Strigfy没有给我完整的对象

  •  0
  • StuartDTO  · 技术社区  · 7 年前

    我试图通过http.post发送json,但发送不正确,我的意思是类的名称没有作为json键,这是我的对象:

    export class DeviceInfo {
        deviceId: string;
        deviceType: string;
        notificationToken: string;
    }
    

    {
    "deviceInfo": {
        "deviceId":"123",
        "deviceType":"DEVICE_TYPE_ANDROID",
        "notificationToken":"123"   
    }
    }
    

    但它只发送:

    {
        "deviceId":"123",
        "deviceType":"DEVICE_TYPE_ANDROID",
        "notificationToken":"123"   
    }
    

    如何将完整对象作为JSON发送?

    2 回复  |  直到 7 年前
        1
  •  4
  •   omurbek    7 年前

    像这样尝试:

    tostring(device:DeviceInfo) {
        return JSON.stringify({deviceInfo:device});
    }
    

    或

            const de = new DeviceInfo();
            const className = de.constructor.name;
            const obj = {};
            obj[className] = de;
            console.log(JSON.stringify(obj));
    
        2
  •  1
  •   Samuel Philipp    7 年前

    您应该创建另一个可以发送的请求对象。

    export class MyRequest {
        deviceInfo: DeviceInfo;
    }
    

    结果 JSON.stringify(myRequest); 这就是你想要的:

    {
        "deviceInfo": {
            "deviceId":"123",
            "deviceType":"DEVICE_TYPE_ANDROID",
            "notificationToken":"123"   
        }
    }
    
    推荐文章