我想使用改装2从我的api获取字符串json,使用改装1获取此json时我没有问题,但使用retrofit 2 为我返回null.
这就是我的json的样子
{"id":1,"Username":"admin","Level":"Administrator"}
Run Code Online (Sandbox Code Playgroud)
这是我的API
@FormUrlEncoded
@POST("/api/level")
Call<ResponseBody> checkLevel(@Field("id") int id);
Run Code Online (Sandbox Code Playgroud)
这就是我的代码的样子
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Config.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Api api = retrofit.create(Api.class);
Call<ResponseBody> call = api.checkLevel(1);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
JsonObject post = new JsonObject().get(response.body().toString()).getAsJsonObject();
if (post.get("Level").getAsString().contains("Administrator")) {
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
Run Code Online (Sandbox Code Playgroud)
我是新手改造2并使用上面的代码,它总是让我的应用程序崩溃因为response.body().toString()返回null.
请指导我如何获取json字符串,以便将其转换为JsonObject.
我是 Sequelize 的新手,现在我正在使用 NodeJS 和 Sequelize 创建一个 RESTful api。我正在尝试弄清楚如何更改我的数据库架构,例如使用 Sequelize 更改我的列名
我创建了一个这样的模型
sequelize model:create --name MyUser --attributes first_name:string,last_name:string,bio:text
Run Code Online (Sandbox Code Playgroud)
它在模型中创建了一个文件
'use strict';
module.exports = function(sequelize, DataTypes) {
var Page = sequelize.define('Page', {
name: DataTypes.STRING,
text: DataTypes.TEXT,
url: DataTypes.STRING
}, {
classMethods: {
associate: function(models) {
// associations can be defined here
}
}
});
return Page;
};
Run Code Online (Sandbox Code Playgroud)
和迁移文件夹中的一个文件
'use strict';
module.exports = {
up: function(queryInterface, Sequelize) {
return queryInterface.createTable('Pages', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
}, …Run Code Online (Sandbox Code Playgroud) 我尝试将从服务器获取的json数据附加到对象数组,并且如果有任何重复,则要删除任何重复数据
这是我的自定义类
class datastruct {
var id: Int?
var name: String?
init(add: NSDictionary) {
id = add["id"] as? Int
name = add["name"] as? String
}
}
Run Code Online (Sandbox Code Playgroud)
这是我用来将json附加到我的数组的代码
var data:Array< datastruct > = Array < datastruct >()
Alamofire.request(url)
.responseJSON{ response in
switch response.result {
case .success(let JSON):
if let list = JSON as? NSArray {
for i in 0 ..< list.count {
if let res = list[i] as? NSDictionary {
self.data.append(datastruct(add: res))
}
}
self.refresh()
}
case .failure(let error):
}
} …Run Code Online (Sandbox Code Playgroud)