0

目前,我正在返回一个stringiOS 设备获取的 Web 方法调用。当 iOS 获取此数据时,JSON 对象的字符串表示,它包含一堆\n\r字符以及许多反斜杠 ( \) - 因此,iOS 设备不会将其识别为有效的 JSON。见下文:

"{\r\n \"byteData\": \"UEsDBAoAAAAAALlp...等。"

我不确定这是否是因为下面的任何有缺陷的代码 - 你有什么看到我在下面做错了吗?我正在使用 JSON.NET。

        [HttpGet]
        public string GetTpkMap(string fileName)
        {
            // go out to file share to get map
            string sharePath = string.Format(@"\\server\shared\TPK\{0}", fileName + ".tpk");
            FileStream fs = File.Open(sharePath, FileMode.Open, FileAccess.Read);

            // load FileStream into a byte array
            int length = (int)fs.Length;
            byte[] data = new byte[length];
            fs.Read(data, 0, length);

            fs.Close();

            // convert byteData to a Base64String to pass back to the client
            string strData = Convert.ToBase64String(data);

            dynamic tpkByteData = new JObject();
            tpkByteData.byteData = strData;

            JObject val = (JObject)JToken.FromObject(tpkByteData);

            return val.ToString();
        }
4

1 回答 1

0

您应该使用带有格式参数的重载ToString()

return val.ToString(Formatting.None, yourJsonFormatters);
于 2013-08-15T16:11:38.703 回答