一、该问题的重现步骤是什么?
协议转换报错,说我格式不对
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
2025-09-26 12:21:06.798 DEBUG 13756 --- [ biz-worker-34] o.s.i.b.l.l.BladeMqttMessageListener : clientId:mqttx_327f6f83_1758860081000 topic:/yywl/sys/ez7gil8efwg1/esp_8266/thing/event/property/post payload:{"temperature":27.4,"humidity":75.7}
2025-09-26 12:21:06.799 DEBUG 13756 --- [ biz-worker-34] o.s.i.b.l.l.BladeMqttMessageListener : clientId:mqttx_327f6f83_1758860081000 topic:/yywl/sys/ez7gil8efwg1/esp_8266/thing/event/property/post payload:{"id":"b56ee8a3d8b025ad065efbc680982e20","version":"1.0","method":"thing.event.property.post","params":{"temperature":27.4,"humidity":75.7}}
2025-09-26 12:21:06.799 ERROR 13756 --- [ biz-worker-34] o.s.core.tool.jackson.JsonUtil : Unexpected character (',' (code 44)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"{
"id": "d374ccf18f65ad88d7dd3feade45d81d",
"version": "1.0",
"method": "thing.event.property.post",
"params": {
"temperature": ,
"humidity":
}
}"; line: 6, column: 21]
com.fasterxml.jackson.core.JsonParseException: Unexpected character (',' (code 44)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"{
"id": "d374ccf18f65ad88d7dd3feade45d81d",
"version": "1.0",
"method": "thing.event.property.post",
"params": {
"temperature": ,
"humidity":
}
}"; line: 6, column: 21]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2477)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:750)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:674)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:2085)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:1029)
at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializerNR._deserializeNR(UntypedObjectDeserializerNR.java:227)
at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializerNR.deserialize(UntypedObjectDeserializerNR.java:70)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:623)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:449)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4825)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3772)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3740)
at org.springblade.core.tool.jackson.JsonUtil.toMap(JsonUtil.java:204)
at org.springblade.iot.core.service.impl.ProtocolMapperServiceImpl.readJsonMessage(ProtocolMapperServiceImpl.java:320)
at org.springblade.iot.core.service.impl.ProtocolMapperServiceImpl.transform(ProtocolMapperServiceImpl.java:209)
at org.springblade.iot.core.service.IProtocolMapperService.transform(IProtocolMapperService.java:92)
at org.springblade.iot.core.service.impl.ProtocolMapperServiceImpl.ifMatch(ProtocolMapperServiceImpl.java:229)
at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
at org.springblade.iot.core.service.impl.ProtocolMapperServiceImpl$$SpringCGLIB$$0.ifMatch(<generated>)
at org.springblade.iot.broker.local.listener.BladeMqttMessageListener.onMessage(BladeMqttMessageListener.java:94)
at org.springblade.iot.broker.local.listener.BladeMqttMessageListener.executeProtocolMapperMessageListener(BladeMqttMessageListener.java:126)
at org.springblade.iot.broker.local.listener.BladeMqttMessageListener.lambda$onMessage$1(BladeMqttMessageListener.java:100)
at org.springblade.iot.core.service.impl.ProtocolMapperServiceImpl.ifMatch(ProtocolMapperServiceImpl.java:231)
at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
at org.springblade.iot.core.service.impl.ProtocolMapperServiceImpl$$SpringCGLIB$$0.ifMatch(<generated>)
at org.springblade.iot.broker.local.listener.BladeMqttMessageListener.onMessage(BladeMqttMessageListener.java:94)
at org.springblade.iot.broker.local.listener.BladeMqttFunctionMessageListener.execMqttFunction(BladeMqttFunctionMessageListener.java:87)
at org.springblade.iot.broker.local.listener.BladeMqttFunctionMessageListener.lambda$onMessage$0(BladeMqttFunctionMessageListener.java:71)
at org.springblade.core.tenant.TenantUtil.use(TenantUtil.java:93)
at org.springblade.iot.broker.local.listener.BladeMqttFunctionMessageListener.onMessage(BladeMqttFunctionMessageListener.java:70)
at net.dreamlu.iot.mqtt.core.server.support.DefaultMqttServerProcessor.lambda$invokeListenerForPublish$4(DefaultMqttServerProcessor.java:514)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
2025-09-26 12:21:06.799 ERROR 13756 --- [ biz-worker-34] o.s.i.c.s.i.ProtocolMapperServiceImpl : 解析异常 outBody 非正常 json topic:/yywl/sys/ez7gil8efwg1/esp_8266/thing/event/property/post message:{"id":"b56ee8a3d8b025ad065efbc680982e20","version":"1.0","method":"thing.event.property.post","params":{"temperature":27.4,"humidity":75.7}} outTopic:/yywl/sys/ez7gil8efwg1/esp_8266/thing/event/property/post outBody:{
"id": "d374ccf18f65ad88d7dd3feade45d81d",
"version": "1.0",
"method": "thing.event.property.post",
"params": {
"temperature": ,
"humidity":
}
}
2025-09-26 12:21:06.800 DEBUG 13756 --- [ biz-worker-34] o.s.i.b.l.listener.MqttMessageListener : clientId:mqttx_327f6f83_1758860081000 username:yywl ip:127.0.0.1 port:53895
2025-09-26 12:21:06.800 DEBUG 13756 --- [ biz-worker-34] o.s.i.b.l.listener.MqttMessageListener : clientId:mqttx_327f6f83_1758860081000 username:yywl ip:127.0.0.1 port:53895
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端