dart json.encode(data) 不能接受其他语言

dart json.encode(data) can not accept other language

我目前正在使用 dart 进行 Web 开发。 使用模拟客户端实现服务。 但是,会发生以下错误。 下面的实现代码是一个内存中的webapi服务,继承了mockClient。 调用 client.send() 和 returns 结果的代码。

test_value 是 json.encode(数据)的结果。

var test_value = '{"id": 1, "type": "Appetizer", "name": "한글"}';

     return Response (test_value, 200, headers: {'content-type': 'application / json'});

错误

Invalid argument(s): String contains invalid characters.
dart:convert                                           Latin1Codec.encode
package:http/src/response.dart 36:49                   new Response
package:basil/common/mock_rest/mock_recipe.dart 40:12  MockRecipe._handler

如果在上面的实现代码的名称中加上英文字符串,是不会报错的。 为什么我输入非英文字符时会出错?

知道的请告诉我!

独自奋斗在韩国的dart程序员

Response class 对 body 使用 Latin-1 编码,除非另有指定。 这在构造函数本身上没有明确记录,但 body getter 上的文档确实表明了这一点。

尝试在 header 中设置 charset/encoding,例如:

return Response(test_value, 200, headers: {
    HttpHeaders.contentTypeHeader: 'application/json; charset=utf-8'
});