Dart是一種快速、現代化的編程語言,其與JSON的解析和序列化是緊密相關的。在Dart中,我們可以直接使用內置的JSON解析器來解析JSON字符串。
import 'dart:convert'; void main() { // json字符串示例 String jsonString = '{ "name": "張三", "age": 18, "hobby": ["編程", "運動"] }'; // 將json字符串轉為Map對象 MapjsonMap = json.decode(jsonString); print(jsonMap); // 訪問Map中的屬性值 String name = jsonMap['name']; int age = jsonMap['age']; List hobbyList = List.castFrom(jsonMap['hobby']); print('姓名:$name,年齡:$age,愛好:$hobbyList'); // 將Map對象轉為json字符串 String backToJsonString = json.encode(jsonMap); print(backToJsonString); }
上述代碼通過import導入了Dart自帶的json解析庫,并使用該庫中的json.decode()方法將json字符串轉為Map對象。解析完成后,我們可以通過普通的方式獲取屬性值,也可以通過List.castFrom方法將List類型強轉。反之,我們可以使用json.encode()方法將Map對象轉為json字符串。
需要注意的是,在Dart中,JSON的解析是一個比較耗費資源的過程,在數據處理比較頻繁或屬性值數量較大的情況下,建議采用JSON解析器或第三方庫來提高解析效率。