javascript
flutter 判断字符创_Flutter 字符串与JSON相互转化
前言
近期調(diào)接口加密,iOS原生已經(jīng)調(diào)通的情況下,直接把iOS里的Objective-C代碼拷貝到flutter的插件包里調(diào)用,居然花了我3天時(shí)間,遇到的問題基本上都很無理頭的情況,比如本來需要傳輸json字符串,結(jié)果直接傳了toString()字符串,另外一個(gè)就是過度為了追求代碼的復(fù)用,導(dǎo)致判斷邏輯過于復(fù)雜,不利于查找bug,以后寫代碼盡量功能分離,不要為了追求代碼的復(fù)用而犧牲代碼的可讀性,功能模塊化
遇到的問題1:
使用toString()方法能將對象轉(zhuǎn)換成字符串,但是會丟失引號等信息,不再是標(biāo)準(zhǔn)JSON,導(dǎo)致服務(wù)端解析不正常
json轉(zhuǎn)換為字符串
import 'dart:convert' as convert;
/// json轉(zhuǎn)換為字符串
void testJson2String(){
var user = { "name": "John Smith", "email": "john@example.com"};
String jsonString = convert.jsonEncode(user);
String normalString2 = user.toString();
print('打印對象: $user');
print('打印toString: $normalString2');
print('打印JSON: $jsonString');
var nameList = ["小明","韓梅梅","李華"];
String normalNameString = nameList.toString();
String josnNameString = convert.jsonEncode(nameList);
print(nameList);
print(normalNameString);
print(josnNameString);
}
打印結(jié)果
打印對象: {name: John Smith, email: john@example.com}
打印toString: {name: John Smith, email: john@example.com}
打印JSON: {"name":"John Smith","email":"john@example.com"}
[小明, 韓梅梅, 李華]
[小明, 韓梅梅, 李華]
["小明","韓梅梅","李華"]
字符串轉(zhuǎn)json
/// 字符串轉(zhuǎn)json
void testString2Json(){
var jsonTxt1 = '{ "name": "John Smith", "email": "john@example.com"}';
Map user = convert.jsonDecode(jsonString1);
var jsonTxt2 = '["小明","韓梅梅","李華"]';
List nameList = convert.jsonDecode(jsonTxt2);
}
作者:獨(dú)孤流
鏈接:https://www.jianshu.com/p/58a86bb75f6b
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
來源:oschina
鏈接:https://my.oschina.net/u/4259850/blog/4277988
總結(jié)
以上是生活随笔為你收集整理的flutter 判断字符创_Flutter 字符串与JSON相互转化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python面向接口编程_Python
- 下一篇: 原生js动态为table追加html,J