我正在将Dart中的表单序列化为JSON,然后使用Jackson将其发布到Spring MVC后端,以反序列化JSON。
在dart中,如果我打印出JSON,我会得到:
{firstName: piet, lastName: venter}
Jackson不喜欢这种格式的数据,它返回状态400和客户端发送的请求语法不正确。
如果我在所有字段周围加上引号,杰克逊接受数据,我会得到回复。
{"firstName": "piet", "lastName": "venter"}
在dart中,我构建了一个地图
现在,当我调用
data时。toString()
,我得到了未加引号的JSON,我猜它是无效的JSON。
如果我
导入'dart:转换'显示JSON;
并尝试JSON.encode(data). toString();
我得到相同的未引用JSON。
手动附加双引号似乎可行:
data.putIfAbsent("\"" + input.name + "\"", () => "\"" + input.value + "\"");
在Java方面,没有火箭科学:
@Controller
@RequestMapping("/seller")
@JsonIgnoreProperties(ignoreUnknown = true)
public class SellerController {
@ResponseBody
@RequestMapping(value = "/create", method = RequestMethod.POST, headers = {"Content-Type=application/json"})
public Seller createSeller(@RequestBody Seller sellerRequest){
所以我的问题是,在Dart中是否有一种不那么复杂的方法来构建Jackson期望的引用JSON(除了手动转义引号和手动添加引号)?可以将Jackson配置为允许未引用JSON吗?
简单方法
import 'dart:convert';
Map<String, dynamic> jsonData = {"name":"vishwajit"};
print(JsonEncoder().convert(jsonData));
import 'dart:convert';
...
json.encode(data); // JSON.encode(data) in Dart 1.x
总是导致我引用JSON。< br >您不需要调用< code>toString()
问题内容: 我想将字符串列表转换为大写。 这是我执行此操作的代码: 有没有更简单/更好的方法来做到这一点? 问题答案: 您实际上并没有改变列表;您已经创建了一个新列表。 要通过一个小的方法调用转换列表,请使用:
问题内容: 我有一些要转换成的属性 我可以从json.org或使用什么吗? 问题答案: 使用来自http://json.org/的 Jackson(http://jackson.codehaus.org/)
问题内容: 像这样转换JSON代码的最佳方法是什么: 在Java Map中,其中一个键为(field1,field2),而这些字段的值为(value1,value2)。 有任何想法吗?我应该使用Json-lib吗?或者,如果我编写自己的解析器会更好? 问题答案: 我希望您在开玩笑编写自己的解析器。:-) 对于这种简单的映射,http://json.org(java部分)中的大多数工具都可以使用。对
本文向大家介绍Swift使用map(_ :)转换数组的元素,包括了Swift使用map(_ :)转换数组的元素的使用技巧和注意事项,需要的朋友参考一下 示例 如Array符合SequenceType,我们可以使用map(_:)转化的阵列A到阵列B使用类型的封闭(A) throws -> B。 例如,我们可以使用它将Ints数组转换为s数组,String如下所示: map(_:)将遍历数组,将给定的
我在一个类中有以下代码,它扩展了Primefaces的 在上面的过滤器是类型
我有一个,并希望该流的每个元素都进行一些计算并将它们返回为,其中键是int值,值是该计算的结果。我写了以下一段代码: 其中,计算第m个(整数a)。我发现下一个编译器错误 我做错了什么?