我正在尝试使用名为kolada的rest API。我遇到的问题是,当我尝试使用Web服务时,它不起作用。我到处寻找并尝试创建适用于正确Json格式的对象,但我无法弄明白。它实际上并没有返回错误,只是返回null。
以下是我想要覆盖的网址: http://api.kolada.se/v2/municipality?title=lund
这是api
的Object_structuremovie['revenue'] = pd.to_numeric(movie['revenue'])
movie['revenue'] = movie['revenue'].astype(np.float64)
这是我创建的对象
{
"id": "<string>",
"title": "<string>",
"type": "L|K"
}
这是我试图调用它的时候(我是从gui / Jframe事件调用它)
public class search_string {
String id;
String title;
String type;
public String get_the_shit()
{
return id+title+type;
}
}
但它返回一个空字符串。
我不知道我做错了什么。我怀疑这是我的对象类。
任何人都可以提供帮助或提出建议吗?
答案 0 :(得分:1)
您需要容器类,并且必须定义getter和setters方法
// Define mapState
const mapState = (state) => ({
needeedValue: state.neededValue
})
// Define mapDispatch
const mapDispatch = (dispatch, ownProps) => {
return {
onChange: (newValue, neededValue) => {
dispatch(updateAttributeSelection('genre', newValue));
dispatch(getTableData(newValue, ownProps.currentYear, neededValue));
}
}
}
// Merge it all (create final props to be passed)
const mergeProps = (stateProps, dispatchProps, ownProps) => {
return {
...stateProps, // optional
...dispatchProps, // optional
onChangeWithNeededValue: (newValue) => (
dispatchProps.onChange(
newValue,
stateProps.needeedValue // <<< here the magic happens
)
)
}
}
// Pass mergePros to connect
const MyContainer = connect(mapState, mapDispatch, mergeProps)(MyComponent);
映射此json的正确类是
{
"count": 1,
"values": [
{
"id": "1281",
"title": "Lund",
"type": "K"
}
]
}
答案 1 :(得分:0)
该URL返回的JSON结构不同。我得到了以下内容:
{"count": 1, "values": [{"id": "1281", "title": "Lund", "type": "K"}]}
所以你的search_string
应该映射到一个集合元素,而不是整个对象。
尝试添加以下包装
public class Envelope {
private List<search_string> strings = new ArrayList();
...
}
并使用Envelope.class
而不是search_string.class
进行反序列化。