在程序中调用一个参数为json数组的远程接口的传参问题

一、问题描述:

在程序中调用一个参数为json数组的远程接口的传参问题

// 控制台打印异常
com.alibaba.fastjson.JSONException: field null expect '[', but int, pos 5, line 1, column 616900

二、原因分析:

对传入的参数做了如下修改(行不通)

String id = "["+result.getId()+"]";

测试
在这里插入图片描述

// 控制台打印异常
field null expect '[', but string, pos 9, line 1, column 10"[16903]"

三、解决方案:

将Long类型的参数转化为json数组进行传递

List<Long> longList = new ArrayList<>();
longList.add(result.getId());
ObjectMapper objectMapper = new ObjectMapper();
String jsonArray = null;
try {
    	jsonArray = objectMapper.writeValueAsString(longList);
	} catch (JsonProcessingException e) {
 		throw new RuntimeException(e);
	}
userFeign.enableBillBatch(jsonArray,null);

注:另一个问题

由于这个远程接口是直接提供给前端使用的,操作成功后会返回给前端一个excel
但是在程序内部执行时,这种格式无法传递,也不需要传递
解决方案:重新写了一个接口,去除了返回excel的逻辑
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个示例的 jQuery JSON 数组: ``` var myArray = [ {"name": "John", "age": 30, "city": "New York"}, {"name": "Mary", "age": 25, "city": "Los Angeles"}, {"name": "Peter", "age": 40, "city": "Chicago"} ]; ``` 然后,你可以使用 `JSON.stringify()` 方法将其转换为 JSON 数据: ``` var myJSON = JSON.stringify(myArray); console.log(myJSON); ``` 输出结果: ``` [ {"name":"John","age":30,"city":"New York"}, {"name":"Mary","age":25,"city":"Los Angeles"}, {"name":"Peter","age":40,"city":"Chicago"} ] ``` 注意:如果需要在后端使用这个 JSON 数据,需要确保它是一个有效的 JSON 对象。可以使用 JSON.parse() 方法将其转换为对象。 ### 回答2: 以下是一个使用jQuery的JSON数组的示例代码,并使用JSON.stringify将其转换为JSON数据: ```javascript // 创建一个jQuery的JSON数组 var jsonArray = [ { name: '张三', age: 25 }, { name: '李四', age: 30 }, { name: '王五', age: 28 } ]; // 转换为JSON数据 var jsonData = JSON.stringify(jsonArray); console.log(jsonData); ``` 这段代码声明了一个包含三个对象的jQuery的JSON数组。每个对象都有一个"name"属性和一个"age"属性。 通过调用`JSON.stringify(jsonArray)`,可以将该数组转换为JSON数据。 输出结果将会是一个字符串,即转换后的JSON数据: ```plaintext [{"name":"张三","age":25},{"name":"李四","age":30},{"name":"王五","age":28}] ``` 这是一个包含三个对象的JSON数组的字符串表示形式。每个对象都以大括号包围,键值对之间用逗号分隔。 ### 回答3: 如下是一个使用jQuery创建JSON数组并使用JSON.stringify方法将其转换为JSON数据的示例: ```javascript // 创建一个空的JSON数组 var jsonArr = []; // 向数组添加JSON对象 jsonArr.push({ name: "张三", age: 25, gender: "男" }); jsonArr.push({ name: "李四", age: 30, gender: "男" }); jsonArr.push({ name: "王五", age: 28, gender: "女" }); // 使用JSON.stringify方法将JSON数组转换为JSON数据 var jsonData = JSON.stringify(jsonArr); console.log(jsonData); ``` 输出结果: ```plaintext [{"name":"张三","age":25,"gender":"男"},{"name":"李四","age":30,"gender":"男"},{"name":"王五","age":28,"gender":"女"}] ``` 以上示例,我们首先创建一个空的JSON数组 `jsonArr`。然后,我们使用 `.push()` 方法向数组添加三个JSON对象。最后,我们使用 `JSON.stringify()` 方法将数组转换为JSON数据,并将结果赋值给变量 `jsonData`。 通过 `console.log()` 方法打印 `jsonData`,我们可以看到输出结果为一个包含三个JSON对象的JSON数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值