【发布时间】:2013-11-05 20:35:26
【问题描述】:
我已经成功地将 json 发送到我的 wcf,但是当我发送一个非常复杂的具有多个转义的 json 数组时,服务会忽略它。当我尝试调试它时,我可以看到 json 没有通过 webmethod 调用,因为该值为 null。它抱怨无法识别的转义序列。我已经尝试使用
在 java/android 中逃脱我的转义String.Replace("\\", "\\\\");
但这似乎对我不起作用。
有没有办法让 wcf 忽略 json 中的转义?除了 microsoft webservices 和 wcf 之外,我从来没有遇到过这个问题,而且非常痛苦。
["{\"CRASH_CONFIGURATION\":{\"hardKeyboardHidden\":\"HARDKEYBOARDHIDDEN_YES\",\"orientation\":\"ORIENTATION_PORTRAIT\",\"keyboard\":\"KEYBOARD_NOKEYS\",\ "screenLayout\":\"SCREENLAYOUT_SIZE_NORMAL+SCREENLAYOUT_LONG_NO\",\"mcc\":310,\"textLayoutDirection\":0,\"locale\":\"en_US\",\"compatScreenHeightDp\":455,\ "compatSmallestScreenWidthDp\":320,\"fontScale\":\"1.0\",\"navigationHidden\":\"NAVIGATIONHIDDEN_YES\",\"screenWidthDp\":320,\"fontTypeIndex\":\"-1\ ",\"screenHeightDp\":455,\"uiMode\":\"UI_MODE_TYPE_NORMAL+UI_MODE_NIGHT_NO\",\"userSetLocale\":false,\"navigation\":\"NAVIGATION_NONAV\",\"smallestScreenWidthDp\": 320,\"keyboardHidden\":\"KEYBOARDHIDDEN_NO\",\"seq\":4,\"mnc\":410,\"compatScreenWidthDp\":320,\"touchscreen\":\"TOUCHSCREEN_FINGER\"} ,\"USER_CRASH_DATE\":\"2013-11-04T19:58:14.000-08:00\",\"EVENTSLOG\":\"11-04 19:55:07.501 I\\/notification_enqueue(373):
<bindings>
<basicHttpBinding>
<binding name="SoapEndpointBinding"
closeTimeout="00:10:00"
maxBufferPoolSize="250000000"
maxReceivedMessageSize="250000000"
openTimeout="00:10:00"
receiveTimeout="00:10:00"
sendTimeout="00:10:00">
<readerQuotas maxDepth="4500000" maxStringContentLength="4500000" maxBytesPerRead="40960000" maxNameTableCharCount="250000000" maxArrayLength="4500000"/>
<security mode="None"/>
</binding>
</basicHttpBinding>
<webHttpBinding>
<binding name="RestEndpointBinding"
closeTimeout="00:10:00"
maxBufferPoolSize="250000000"
maxReceivedMessageSize="250000000"
openTimeout="00:10:00"
receiveTimeout="00:10:00"
sendTimeout="00:10:00">
<readerQuotas maxDepth="4500000" maxStringContentLength="4500000" maxBytesPerRead="40960000" maxNameTableCharCount="250000000" maxArrayLength="4500000"/>
<security mode="None"/>
</binding>
</webHttpBinding>
</bindings>
【问题讨论】:
-
您的请求如何?
-
它的方式来大张贴在这里。当我尝试使用从 replace 方法获得的字符串进行调试时,它抱怨意外字符“\”
-
有什么方法可以让 wcf 忽略字符串中的转义?
-
对不起,如果没有一些代码如何生成 json-string,也没有 json-string 本身,我无能为力。
-
您仍然可以尝试通过其他工具(如 Firefox 的海报)发布字符串,看看它是否有效,然后快速更改以找到您的问题。