簡體   English   中英

使用JsonConvert.SerializeObject()時,將base64解析到服務器在Json中返回null。

[英]parsing base64 to server returns null in Json when using JsonConvert.SerializeObject();

因此,我很樂意使用FormUrlEncodedContent()將數據解析到服務器。 當我決定添加使用Base64轉換為字符串的圖像時,收到一條錯誤消息,指出URL太長。 在研究中,我將其更改為JsonConvert.SerializeObject();。 但是在我的代碼中,Json現在返回null。 有人可以看看我的代碼,然后建議我應該怎么做嗎? 我確實嘗試用該對象代替IEnumerable,但是得到了相同的錯誤該過程通過了,但是服務器上的所有數據均為空。

json錯誤如下:[0:] Newtonsoft.Json.JsonReaderException:解析值時遇到意外字符:M. Path”,行0,位置0。位於Newtonsoft.Json.JsonTextReader.ParseValue()[0x002b3]中在Newtonsoft.Json.JsonReader.ReadAndMoveToContent():0在Newton.Json.Json.Reader.Read()[0x0004c]在Newtonsoft.Json.Json.JsonReader.ReadForType(New在0的[0x00000]](Newtonsoft.Json.Serialization.JsonContract合約,Newton.Json.Serialization.JsonSerializerInternalReader.Deserialize(Newtonsoft.Json.JsonReader reader,System.Type objectType,System.Boolean checkAdditionalContent)在0的Newton:在0的System.Boolean hasConverter)[0x0004a]在[0x000db]。 Json.JsonSerializer.DeserializeInternal(Newtonsoft.Json.JsonReader reader,System.Type objectType)[0x00054]在:0時在Newton.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader reader,System.Type objectType)[0x00000]在:在Newtonsoft.Json.JsonConvert.DeserializeObject(System.String value處為0 e,System.Type類型,Newtonsoft.Json.JsonSerializerSettings設置)[0x0002d]在:0時在Newtonsoft.Json.JsonConvert.DeserializeObject [T](System.String值,Newtonsoft.Json.JsonSerializerSettings設置)[0x00000]在:0時在Newtonsoft.Json.JsonConvert.DeserializeObject [T](System.String value)[0x00000]在:0中

 IEnumerable<KeyValuePair<string, string>> queries = new 
List<KeyValuePair<string, string>>()
        {                   
                  new KeyValuePair<string, string>("widget1", Widget1),
                  new KeyValuePair<string, string>("widget2", Widget2),
                  new KeyValuePair<string, string>("widget3", 
Widget3),
                  new KeyValuePair<string, string>("widget4", Widget4),
                  new KeyValuePair<string, string>("widget5", Widget5),
                  new KeyValuePair<string, string>("encoding_string", 
encoding_string)                 
    };


        var jsonString = JsonConvert.SerializeObject(queries);       
        //HttpContent q = new FormUrlEncodedContent(queries);
       HttpContent q = new StringContent(jsonString, Encoding.UTF8, 
"application/json");

        using (HttpClient client = new HttpClient())
        {
            using (HttpResponseMessage response = await client.PostAsync(url, 
q))
            {
                using (HttpContent content = response.Content)
                {

                    string mycontent = await content.ReadAsStringAsync();
                   Console.WriteLine("mycontent1 " + mycontent);



            }

        }
    }
}

傑森字符串如下,我縮短了圖像,因為它對發布很長時間

jsonString [{“ Key”:“ widget1”,“ Value”:“ 54”},{“ Key”:“ widget2”,“ Value”:“ test”},{“ Key”:“ widget3”,“ Value” :“ test”},{“ Key”:“ widget4”,“ Value”:“ 100”},{“ Key”:“ widget5”,“ Value”:“ 3”},{“ Key”:“ encoding_string” , “值”:“/ 9J / 4UpuRXhpZgAASUkqAAgAAAANAA8BAgAIAAAAqgAAAAEBBAABAAAAqAcAABIBAwABAAAAAQAAADIBAgAUAAAAsgAAACWIBAABAAAAcgMAABsBBQABAAAAxgAAABoBBQABAAAAzgAAAAABBAABAAAAwA8AABABAgAJAAAA1gAAADEBAgAOAAAA3wAAABMCAwABAAAAAQAAAGmHBAABAAAA7QAAACgBAwABAAAAAgAAAFEEAABzYW1zdW5nADIwMTg6MDc6MTcgMTQ6MTY6NDgASAAAAAEAAABIAAAAAQAAAFNNLUc5NTVGAEc5NTVGWFhVMkNSRjcAIAAAkAcABAAAADAyMjADh6cTKkjEJT22IPaTTeYZZUFrkHKU / wDVQUoUogkd4h3aGZftQXlmtxZCSeuHsV4qc0bgVykrRyJGWjXsjWFaRpgXSR37KzAhmYOfSaG1VrLf / BiNWK0hq9o + 9W7zdhUpGAXLeozElOx4PA + I4Vchk7zTRfiRwR471 / SSnyVtNULS2RKXEUiK8XWtG5KEkv0CEqfotn8tSrZkTU4ob9d47EFeeb00E9aBRDWdUIkMZjDCb03PZDwhA5POWC5KlGrgUN3 / AONzYWDDUO0dkshKESk90JSX7poAUMApDJBrYupdSCcqlRH + OxH81n6kWUvmtrS3a0uXy1wJWjmpQ + oZsarli8NjKTirBFMyiMRGZ5EQiMSRpkdsSxtUmT120JsW06Q4VZZZZXlrpJFGLkIkSu8UFKjV / j2JjjM1e9FJGwkqv2fmfvwy4fMevEF khx8VKgmOM7SWmny1WCVJa8pdbV + 1SsW4vWjkr1YoY4O8RaL + 7D + Aw9ST + RmyksdI2MRk6mLLh + KatUkXGVjJAHkjkhyCxsWkjdxCCHMjKXkiWo5gEiuYkqLg0Zg + gDHztYCuhKe + pRUTlACS2U1NWGpcAk1AA6FD2OWSfJTxTTPIlp / zZppHMzySyzGR4Szlp Io2nLTtEjRwD1 / ZB2flKysckOuZ + aeo9ehTlw9aW0saSD8m9k6kX5JkPdAymetCYuHCJaDsVBP0Zy8U3qTzyBksxzn4hkZJYSYYpFbpxw8csyuD2KtGAfYIfo /米+ 8OInweSlZkGC1fYICUcxlNgS5k5eR2aKaZsedVBCjtGytGyL15aNJ7ylElq13Oj + 384ncASkpAJJFLFgUkqA5UvSvhEL5XIVOi0zLKLckRkihePoJKisIo5kkAUSM83qggKo4QEc8n6Q55oaVSKHITxwvJWjT8DHgRWppkqlVuXFdWFNZ3eJrrhFe0Q5gjBReFjM1orAhswiR0pJ6MazSduIAxeaJACekXrzsVCgjnlmJJPZiZOeww9WwsliRIHjBdAOyoCISwUdpWiQhIzzyQq88f5ESS7mhIox08Pvzi6hiG5hxzpYmgdvCNKC3pshZOP95pMNnq3UuwqLFJjpJHtWUUcCOsYRMbD8mNe6ktHJLG7L3ZblixWTX5ESpHNhck3XtELCFIZZY0ThUKyRSz9Y5APTfoDx8h9SfoKZGLD5azPQRZc / lJMI0OQC / j2tToW8X / KWUmjb1ale1nLmv0J5ZVgjBc1bHdLcaPHiVC6zPKJjKYhI7yKpeJmZCJJmZgFR1kVolLLwjqFCqV + oyjukVZRdjSlHYaONgNH1idCmmH5SEAC9S13Ggdw / KEmy5i22nnK0U1aGW8GkgiSITR46ex0mVWeY9FWq8i905IjMgAZ +的py / kMhXuV5cwrWIBe9a5kjZVoJclYjnWWDGwTorrKvrsk8rRM / ourSgK9 fujbsyellaio8rKIZYiiklDDKIY + W4JD / 5sYgG / wA1Vf0APofN3J / xMTrVuI / g46GSPGxLIHiW4l3KSWLCRAuY7As3MiyuyxPJVkhALxRQP9QOACztmtepYHnY6XItrE5S5QaEkM9u6CC1i5s3MP0O5OS7lqOIs309LP0vzMpTaNmgapHk7j / iMldO0cUMtDGQ2wqkl4r0dhmMrK4Z0GfyGSyGQ + FIacH49GNDXsE + nWViEJatG54bgsXJHBABe / U + w69nzVoWoXWranjimuVa9ucBh0JZ5UKsSqqDynB6jkEcg / fX31xMr5R70EellCLZUtWmUN8srRoV5N + 2PIWq6WJ63a1bkjsSxVYopJVrooj7lOEJAABJT9AD2AA + njrWUs5KCWS0sLenLkIVVI + iFYJOkbMFYEv1ZgW59 + F1 + vr76 ++ mTYnVlV8ExDMSkS0kJSDUOAAW7lHaP / 2Q ==“}]

因此,一旦確認我的代碼是正確的,我就會更深入地研究我的PHP代碼,並且我使用的是POST而不是json_decode,而一旦實現了它,一切便開始起作用,感謝您的幫助,以確認沒有問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM