मैं अपने प्रोजेक्ट में http पैकेज का उपयोग करता हूं और जीईटी अनुरोध भेजने की कोशिश करता हूं और प्राप्त जेसन को डीकोड करता हूं लेकिन संदेश के साथ त्रुटि प्राप्त करता हूं:

E/flutter ( 2292): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: FormatException: Invalid unicode escape (at character 29930)
E/flutter ( 2292): ...\u0438\u043d)"},{"id":374,"title":"\u041\u0435\u0437\u0430\u0431\u0443\u...

यहाँ मेरा अनुरोध है:

var response = await http.get(
  '${ApiConstants.BASE_URL}$path$formattedParams',
  headers: {
    'accept': "application/json",
    'Authorization': 'Bearer $token',
  },
);
return json.decode(response.body);

जेसन सत्यापनकर्ताओं का उपयोग करके सर्वर प्रतिक्रिया को सत्यापित करने का भी प्रयास किया और प्रतिक्रिया मेरे मामले में वैध जेसन है।

यहां मेरी जेसन प्रतिक्रिया का हिस्सा है जहां त्रुटि पकड़ें:

{
    "id": 373,
    "title": "Настурция (Капуцин)"
},
{
    "id": 374,
    "title": "Незабудка" // error is here
},

मैं इस समस्या को कैसे ठीक कर सकता हूं?

0
Andreas Hunter 30 जिंदा 2021, 14:24
"id":374,"title":"\u041\u0435\u… "id":374,"title":"\u041D\u0435\u… होना चाहिए
 – 
JosefZ
30 जिंदा 2021, 15:22

1 उत्तर

सबसे बढ़िया उत्तर

यूटीएफ -8 के रूप में बस अपने सर्वर से प्रतिक्रिया शीर्षलेख भेजें

शीर्षक

{
  "Content-Type":"application/json;charset=UTF-8",
  "Charset":"utf-8"
}

लारावेल उदाहरण:

return response()->json(
    $data, // response data
    $code, // status code
    [
        'Content-Type' => 'application/json;charset=UTF-8', 
        'Charset' => 'utf-8'
    ], 
    JSON_UNESCAPED_UNICODE
);

Android मेनिफेस्ट में एप्लिकेशन एलिमेंट के अंतर्गत useCleartextTraffic एट्रिब्यूट भी जोड़ें।

<application
    android:usesCleartextTraffic="true"
    .....
1
Otabek Mansurov 1 फरवरी 2021, 17:58