Azure 数据工厂:响应内容不是有效的 JObject

JJ1*_*180 2 azure azure-functions azure-data-factory-2

我的 ADF 管道调用 Azure 函数(用 Java 编写)。

但是,管道失败并显示以下消息:

Response Content is not a valid JObject.
Run Code Online (Sandbox Code Playgroud)

我四处寻找,但似乎无法在 Java 中找到 JObject 的任何示例。

任何人都可以启发我如何做到这一点?

Ada*_*zak 6

您只需要一个从函数返回的 JSON 对象。

{
    "name": "adam"
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果您返回对象数组,虽然它是正确的 JSON 表示法,但它会因Response Content is not a valid JObject.错误而失败。

所以代替

[{
    "name": "adam"
}, {
    "name": "tom"
}]
Run Code Online (Sandbox Code Playgroud)

返回类似的东西

{
    "items": [{
        "name": "adam"
    }, {
        "name": "tom"
    }]
}
Run Code Online (Sandbox Code Playgroud)

根据 API,您可能需要添加

Accept: application/json 
Run Code Online (Sandbox Code Playgroud)

请求头。

在 Java 中,很少有选项可以做到这一点,其中之一可能是

package com.demo;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/users")
public class JsonFromRestful 
{
    @GET
    @Path("/")
    @Produces(MediaType.APPLICATION_JSON)
    public Customer produceCustomerDetailsinJSON() {
            Customer cust = new Customer();        
            cust.setCustNo(1);
            cust.setCustName("demo");
            cust.setCustCountry("poland");
            return cust;
    }

}
Run Code Online (Sandbox Code Playgroud)