I have problem where I don't know. in my flutter project I want to get request. but, I always got error
E/flutter ( 3700): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: FormatException: Unexpected character (at character 396000)
E/flutter ( 3700): ...E PUTIH ALAM 10X20X3CM","ItemType:"Finished Good","ItemClass":"CVL","Po...
E/flutter ( 3700): ^
E/flutter ( 3700):
E/flutter ( 3700): #0 _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1405:5)
E/flutter ( 3700): #1 _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:935:48)
E/flutter ( 3700): #2 _parseJson (dart:convert-patch/convert_patch.dart:40:10)
E/flutter ( 3700): #3 JsonDecoder.convert (dart:convert/json.dart:506:36)
E/flutter ( 3700): #4 JsonCodec.decode (dart:convert/json.dart:157:41)
E/flutter ( 3700): #5 _ScheduleAddState.getStock (package:myfirstapp/scheduleadd.dart:365:24)
E/flutter ( 3700): <asynchronous suspension>
E/flutter ( 3700):
^
but I already generate this json data automatically.
I already stuck in this problem,
this is my API
public function StockItemList(){
$cookie_jar = tempnam("tmp", "cookie");
//login
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'url',
CURLOPT_RETURNTRANSFER=> true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION=> true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_COOKIEJAR => $cookie_jar,
CURLOPT_POSTFIELDS =>'{
"name" : "*****",
"password" : "*****",
"company" : "**"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'),
)
);
$response = curl_exec($curl);
//get data
curl_setopt_array($curl, array(
CURLOPT_URL => 'url',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_COOKIEFILE => $cookie_jar
)
);
$datapo = json_decode(curl_exec($curl));
//logout
curl_setopt_array($curl, array(
CURLOPT_URL => 'url',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"name" : "*****",
"password" : "******",
"company" : "**"
}',
CURLOPT_COOKIEFILE => $cookie_jar
)
);
$response = curl_exec($curl);
$data = array();
$no = 0;
foreach ($datapo as $doc) {
$data[$no]['InventoryID'] = $doc->InventoryID->value;
$data[$no]['Description'] = $doc->Description->value;
$data[$no]['ItemType'] = $doc->ItemType->value;
$data[$no]['ItemClass'] = $doc->ItemClass->value;
$data[$no]['PostingClass'] = $doc->PostingClass->value;
$data[$no]['TaxCategory'] = $doc->TaxCategory->value;
$data[$no]['BaseUOM'] = $doc->BaseUOM->value;
$data[$no]['ItemStatus'] = $doc->ItemStatus->value;
$no++;
}
return json_encode($data);
}
this is my flutter
getdataStock() async{
// await _getToken();
return await http.get(Uri.parse(_url+"/StockItemList"), headers: _setHeaders());}
Future<String> getStock() async {
FocusScope.of(context).requestFocus(FocusNode());
setState(() {
_isLoading = true;
});
var res = await Network().getdataStock();
var resBody = json.decode(res.body);
// if(resBody['success']){
setState(() {
print(resBody['StockItem']);
// _StockItemData = resBody['StockItem'];
});
// }
setState(() {
_isLoading = false;
});
return "success";}
this is my API Flutter
getdataStock() async{
// await _getToken();
return await http.get(Uri.parse(_url+"/StockItemList"), headers: _setHeaders());}
and in API call another API. where in API Source have 6000+ rows data. it's always lost some " or have "". and this is makes error