NutzCN Logo
问答 JSON 输入流 - JsonAdaptor 无法正常解析json字符串
发布于 183天前 作者 qq_412bd180 187 次浏览 复制 上一个帖子 下一个帖子
标签:

jsp页面

//提交多个json
			$('#submitJsonzMore').click(function(){
				var json="{pet:{petId:1,petName:'doudou'},food:{foodId:2,foodName:'香蕉'}}";
				$.ajax({
					url:'${ctx}/testMvc/adaptor/testPairAdaptorJsonMore',
					//JavaScript 值转换为 JSON 字符串
					data:JSON.stringify(json),
					type:'post',
					dataType:'json',
					cache:false,
					success:function(data){
						console.log(data);
					},
					error:function(data){
						
					}
				})
			});

module代码

@At
	@Ok("json")
	//JSON 输入流 - JsonAdaptor
	//json传递多个对象
	@AdaptBy(type=JsonAdaptor.class)
	public NutMap testPairAdaptorJsonMore(@Param("pet") Pet pet,@Param("food") Food food){
		log.info("JsonAdaptor");
		log.info("petId:"+pet.getPetId());
		log.info("petName:"+pet.getPetName());
		log.info("---");
		log.info("foodId:"+food.getFoodId());
		log.info("foodName:"+food.getFoodName());
		return NutMap.NEW().addv("pet",pet).addv("food", food);
	}

错误代码:

2018-02-14 12:33:30 [http-nio-8080-exec-8] INFO  cc.myspring.nutz.admin.module.TestMvcAdaptor - JsonAdaptor
2018-02-14 12:33:30 [http-nio-8080-exec-8] INFO  cc.myspring.nutz.admin.module.TestMvcAdaptor - petId:0
2018-02-14 12:33:30 [http-nio-8080-exec-8] INFO  cc.myspring.nutz.admin.module.TestMvcAdaptor - petName:null
2018-02-14 12:33:30 [http-nio-8080-exec-8] INFO  cc.myspring.nutz.admin.module.TestMvcAdaptor - ---
2018-02-14 12:33:30 [http-nio-8080-exec-8] INFO  cc.myspring.nutz.admin.module.TestMvcAdaptor - foodId:0
2018-02-14 12:33:30 [http-nio-8080-exec-8] INFO  cc.myspring.nutz.admin.module.TestMvcAdaptor - foodName:null

是字符串格式不对吗 应该怎么写?

4 回复

原本就是字符串就不要转

data: json,

好的 谢谢 那么如果需要JSON.stringify转化
源字符串应该怎么写呢?谢谢

那是用来把对象转字符串的,而不是字符串再转字符串

将字符串转换为对象:

var jsonStr = "{name:'陆离',age:20}"; //是一个纯字符串
var jsonObj =  JSON.parse(jsonStr); //将字符串转换为对象
console.log(jsonObj.name);  //输出:陆离

将json对象转换为字符串:

var jsonObj = {name:'陆离',age:20}; //是一个json对象
var jsonStr =  JSON.stringify(jsonObj ); //将对象转换为字符串
console.log(jsonStr);  //输出 {name:'陆离',age:20}

@qq_412bd180

添加回复
请先登陆
回到顶部