Flutter에서 JSON 문자열을 JSON 객체로 변환하는 방법은 무엇입니까?
2533 단어 webdevflutterprogrammingjson
Flutter에서 json 문자열을 json 객체로 변환하는 방법은 무엇입니까?
json.decode를 사용해야 합니다. JSON object을 받아 중첩된 키-값 쌍을 처리할 수 있습니다. 코드 스니펫은 다음과 같습니다.
import 'dart:convert';
// actual data sent is {success: true, data:{token:'token'}}
final jsonResponse = await client.post(url, body: reqBody);
// Notice how you have to call body from the response if you are using http to retrieve json
final body = json.decode(jsonResponse .body);
// This is how you get success value out of the actual json
if (body['success']) {
//Token is nested inside data field so it goes one deeper.
final String token = body['data']['token'];
return {"success": true, "token": token};
}
다음과 같이 JSON 배열을 객체 목록으로 변환할 수도 있습니다.
String jsonString = yourMethodThatReturnsJsonText();
Map<String,dynamic> d = json.decode(jsonString.trim());
List<MyModel> list = List<MyModel>.from(d['jsonArrayName'].map((x) => MyModel.fromJson(x)));
And UserModle is something like this:
class UserModle{
String name;
int age;
UserModle({this.name,this.age});
UserModle.fromJson(Map<String, dynamic> json) {
name= json['name'];
age= json['age'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['name'] = this.name;
data['age'] = this.age;
return data;
}
}
때때로 이것을 사용해야 합니다:
Map<String, dynamic> toJson() {
return {
jsonEncode("phone"): jsonEncode(numberPhone),
jsonEncode("country"): jsonEncode(country),
};
}
이 코드는 {“numberPhone”:”+225657869″, “country”:”CI”}와 같은 문자열을 제공합니다. 그래서 해독하기 쉽습니다.
json.decode({"전화번호":"+22565786589", "국가":"CI"})`
결론:
읽어 주셔서 감사합니다!!! 기사가 마음에 드셨기를 바랍니다!!!
이 기사에서는 Flutter에서 JSON 문자열을 JSON 객체로 변환하는 방법을 배웠습니다. 어려움을 느끼신다면 질문에 댓글을 달아주세요. Flutter Agency에는 기술적 문제를 해결하는 데 도움을 줄 Flutter 전문가 팀이 있습니다.
Reference
이 문제에 관하여(Flutter에서 JSON 문자열을 JSON 객체로 변환하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pankajdas0909/how-to-convert-json-string-to-json-object-in-flutter-484n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)