我使用alamofire和swiftyjson获取登录信息
Alamofire.request(.POST, postsEndpoint, parameters: newPost)
.responseSwiftyJSON({ (request, response, json, error) in
在我的帖子回复中我有值
json["id_usuario"]
问题是,当值为-1或0(零)时,可以获得int 使用
let idUser = json["id_usuario"].int
和响应的示例,其值为-1
{
"id_usuario" : -1
}
和值大于时的响应,成功登录
{
"estado" : "Jalisco",
"plan_activo" : "0",
"datos_registro_completos" : 1,
"plan" : 0,
"genero" : "H",
"id_usuario_openpay" : "annvwl3didjylvex0wzh",
"fb_id" : "10205386840402780",
"email" : "steel.edward@hotmail.com",
"postal_code" : "44630",
"address" : "Nueva Escocia #1514 Interior 106",
"nombres" : "Steel Edward",
"app_mat" : "George",
"app_pat" : "Vázquez",
"ciudad" : "Guadalajara",
"id_usuario" : "204",
"admin" : "1",
"phone_number" : "3334691505"
}
但如果该值大于0,则返回nil,只能获得字符串
let idUser = json["id_usuario"].string
我的最终代码有效,看起来像这样
if let idUser = json["id_usuario"].int {
if(idUser == -1) {
//specific error from the server
} else if(idUser == 0) {
//another specific error from the server
}
} else if let idUser = json["id_usuario"].string {
if(idUser != "") {
//success
}
}
我想将值始终存储为Int并使用它执行验证,并获得这样的代码
if(idUser == -1) {
//specific error from the server
} else if(idUser == 0) {
//another specific error from the server
} else if (idUser > 0) {
//success
}
答案 0 :(得分:0)
var id = 0
if let num = json["id_usuario"].int {
id = num
} else if let str = json["id_usuario"].string,
let num = Int(str) {
id = num
}
//
// do something with id, which is an Int value
如果你拥有服务器代码,你最好在那里找到一个bug ....
答案 1 :(得分:0)
这是我第一个不使用Swifty-JSON的解决方案
let id_usuario_object:NSObject = jsonData.valueForKey("id_usuario") as! NSObject
var id_usuario:Int
if ( id_usuario_object.isKindOfClass(NSString) ) {
let id_usuario_string:NSString = jsonData.valueForKey("id_usuario") as! NSString
id_usuario = Int(id_usuario_string.intValue)
} else {
id_usuario = jsonData.valueForKey("id_usuario") as! NSInteger
}
答案 2 :(得分:0)
问题在于来自PHP的JSON响应......
在
<build>
<finalName>mywebtestproject</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<outputDirectory>webapps</outputDirectory>
<warName>ROOT</warName>
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
</plugins>
</build>
在
echo json_encode( $results);