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'
});
我目前正在使用 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'
});