json.decode 在 json 中的嵌套双引号上抛出 FormatException - dart

Sat*_*abu 6 dart flutter flutter-dependencies

下面的代码片段在 Flutter json 解码中抛出格式异常,请问有什么建议吗?

\n\n
import \'dart:async\' show Future;\nimport \'dart:convert\';\n\nFuture<String> readBooks() async {\n  String jsonString = \'{"description":"As part of the "You Don\xe2\x80\x99t Know JS" series","quantity":55}\';\n\n  Map<String, dynamic> books = json.decode(jsonString);\n  return jsonString;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

格式异常:

\n\n
\n

2018-10-23 20:40:30.680 18115-18142/addon.com.bookshop E/flutter:\n [错误:flutter/shell/common/shell.cc(181)] Dart 错误:未处理\n 异常:\ n FormatException: 意外字符(位于字符 26)\n {"name":"作为“You Don\xe2\x80\x99t Know JS”系列的一部分","Age":55}\n ^

\n\n
#0      _ChunkedJsonParser.fail (dart:convert/runtime/libconvert_patch.dart:1358:5)\n#1      _ChunkedJsonParser.parse (dart:convert/runtime/libconvert_patch.dart:919:48)\n#2      _parseJson (dart:convert/runtime/libconvert_patch.dart:29:10)\n#3      JsonDecoder.convert (dart:convert/json.dart:540:36)\n#4      JsonCodec.decode (dart:convert/json.dart:167:41)\n#5      _MyHomePageState.readBooks (file:///E:/Me/TimePass/flutter/book_shop/lib/main.dart:58:39)\n<asynchronous suspension>\n#6      _MyHomePageState.build.<anonymous closure> (file:///E:/Me/TimePass/flutter/book_shop/lib/main.dart:48:39)\n<asynchronous suspension>\n#7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:503:14)\n#8      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:558:30)\n#9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)\n#10     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)\n#11     TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)\n#12     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)\n#13     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)\n#14     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)\n#15     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:143:19)\n#16     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)\n#17     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)\n#18     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue\n
Run Code Online (Sandbox Code Playgroud)\n\n

(包:flutter/src/gestures/binding.dart:64:7)\n #19 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket\n (包:flutter/src/gestures/binding.dart:48:7)\n #20 _invoke1 (dart :ui/hooks.dart:142:13)\n #21 _dispatchPointerDataPacket (dart:ui/hooks.dart:99:5)

\n
\n

Gün*_*uer 6

这只是无效的 JSON。
需要对内部引号进行转义以\"使 JSON 有效。