使用express设置cookie时,怎么使字符串内特殊符号不被encode?

res.cookie("imgsrc",body.imgsrc,{maxAge:1000*60*60,encode:val=>val});

加入encode:val=>val即可。

### 回答1: Dart中使用json.encode输出格式化好的字符串,可以使用json.encode()方法中的toEncodable参数。toEncodable参数允许您指定一个函数,用于将对象转换为可编码的形式。您可以使用这个函数来实现自定义的格式化输出。 例如: ``` import 'dart:convert'; class Person { final String name; final int age; Person(this.name, this.age); Map<String, dynamic> toJson() => { 'name': name, 'age': age, }; } void main() { final person = Person('Tom', 20); final jsonString = json.encode(person, toEncodable: (person) => person.toJson()); print(jsonString); // Output: {"name":"Tom","age":20} } ``` 这样就可以通过toJson()函数来实现自定义的格式化输出。 ### 回答2: 在Dart中使用`json.encode`函数,默认情况下输出的是没有格式化的字符串。但是我们可以通过使用`json.encode`的`toEncodable`参数来自定义输出的格式。 首先,我们需要导入`dart:convert`库,其中包含了`json.encode`函数。然后,我们可以创建一个自定义的`toEncodable`函数,该函数接收一个动态参数,并返回被编码的对象。 接下来,我们可以在`json.encode`函数中使用`toEncodable`参数来指定格式化的方式。在这个参数中,我们可以使用`json.encode`函数的第一个参数。 下面是一个示例代码: ```dart import 'dart:convert'; class Person { String name; int age; Person(this.name, this.age); Map<String, dynamic> toJson() { return { 'name': name, 'age': age, }; } } String formatJson(Object object) { return JsonEncoder.withIndent(' ').convert(object); } void main() { Person person = Person('John', 30); String formattedJson = formatJson(person.toJson()); print(formattedJson); } ``` 在这个示例中,我们定义了一个`Person`类,该类具有`name`和`age`属性,并且还定义了一个`toJson`方法。在`main`函数中,我们创建了一个`Person`对象,然后将其转换为JSON格式的字符串,然后我们在`formatJson`函数中使用`JsonEncoder.withIndent(' ').convert`来输出格式化后的字符串,其中`' '`表示缩进两个空格。最后,我们打印这个格式化后的JSON字符串。 通过使用`json.encode`函数的`toEncodable`参数以及自定义的格式化函数,我们可以在Dart中输出格式化好的JSON字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值