Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析对typescript类的json响应_Json_Typescript - Fatal编程技术网

解析对typescript类的json响应

解析对typescript类的json响应,json,typescript,Json,Typescript,我知道有很多类似的主题,但是尝试他们的解决方案并没有给我预期的结果 输入json字符串 data:"{"message": "{\"type\":\"CONTROL\",\"command\":\"REQUEST_STATUS_ALL\"}"}" 对象声明/解析: const msg: Message = <Message>JSON.parse(data.data); -值没有正确分配,而是以文本形式分配 如果手动(在TS中)初始化同一对象,则其外观如下所示: 将json字符串解

我知道有很多类似的主题,但是尝试他们的解决方案并没有给我预期的结果

输入json字符串

data:"{"message": "{\"type\":\"CONTROL\",\"command\":\"REQUEST_STATUS_ALL\"}"}"
对象声明/解析:

const msg: Message = <Message>JSON.parse(data.data);
-值没有正确分配,而是以文本形式分配

如果手动(在TS中)初始化同一对象,则其外观如下所示:

将json字符串解析为
消息
对象的正确方法是什么


谢谢大家!

消息的值似乎未正确编码为字符串。第二次调用message属性上的
JSON.parse
将得到您想要的结果,尽管您可能希望修复编码不正确数据的根本原因

parseMessage(data: string) {
   const msgTemp = JSON.parse(data);
   msgTemp.message = JSON.parse(msgTemp.message);
   return <Message>msgTemp;
}

const msg = parseMessage(data.data);
parseMessage(数据:字符串){
const msgTemp=JSON.parse(数据);
msgTemp.message=JSON.parse(msgTemp.message);
返回msgTemp;
}
const msg=parseMessage(data.data);
Message {type: "CONTROL", status: undefined, command: "REQUEST_STATUS_ALL", body: undefined}
parseMessage(data: string) {
   const msgTemp = JSON.parse(data);
   msgTemp.message = JSON.parse(msgTemp.message);
   return <Message>msgTemp;
}

const msg = parseMessage(data.data);