JSON-> Xcode 字符串格式

发布于 2024-11-07 09:20:29 字数 886 浏览 0 评论 0原文

我使用此方法从 Xcode 访问我的 mysql 数据库:

NSString *URL = [NSString stringWithFormat:@"http://test.test:8888/test/loadUserData.php?用户名=%@", 用户名];

NSString *rawJSON = [[NSString 分配] initWithContentsOfURL:[NSURL URLWithString:URL]];

const char *convert = [rawJSON UTF8字符串]; NSString *responseString = [NSString stringWithUTF8String:convert];

if ([rawJSON 长度] == 0) { [rawJSON 发布];

}

SBJsonParser *解析器= [[SBJsonParser 分配]初始化];

用户信息 = [[解析器 objectWithString:响应字符串 错误:无]复制]; SSN = [用户信息 objectAtIndex:0];

[解析器版本];

返回用户信息;

一切都很好。除了我无法将结果中的字符串与正常的 nsstring 进行比较。如果我说

if ([userinfo objectAtIndex:0) == @"Dan") { ..做某事 Xcode

从来没有看到它是相同的值。 不知道是不是格式有问题(我的数据库是UTF-8) 我怎样才能转换结果,以便 xCode 可以将响应与 NSStrings 进行比较?

谢谢!

I use this method to access my mysql database from Xcode:

NSString *URL = [NSString
stringWithFormat:@"http://test.test:8888/test/loadUserData.php?username=%@",
userName];

NSString *rawJSON = [[NSString alloc]
initWithContentsOfURL:[NSURL
URLWithString:URL]];

const char *convert = [rawJSON
UTF8String]; NSString *responseString
= [NSString stringWithUTF8String:convert];

if ([rawJSON length] == 0) {
[rawJSON release];

}

SBJsonParser *parser = [[SBJsonParser
alloc] init];

userInfo = [[parser
objectWithString:responseString
error:nil] copy]; SSN = [userInfo
objectAtIndex:0];

[parser release];

return userInfo;

Everything works great. EXCEPT that I can't compare strings in the result with normal nsstrings. If I say

if ([userinfo objectAtIndex:0) == @"Dan")
{
..do something
}

Xcode never sees that it is the same value..
I don't know if there is something wrong with the format (My database is UTF-8)
And how can I convert the result so xCode can compare the response with NSStrings?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

山有枢 2024-11-14 09:20:29

== 不比较字符串的值,它只是比较它们的地址。

使用

if ([[userinfo objectAtIndex:0] isEqualToString:@"Dan"]) { ... } 

或类似的东西代替。

== does not compare the value of strings, it just compares their addresses.

Use

if ([[userinfo objectAtIndex:0] isEqualToString:@"Dan"]) { ... } 

or something similar instead.

-黛色若梦 2024-11-14 09:20:29

如果您确定条件两侧都有字符串数据,则可以使用

if ([userinfo objectAtIndex:0] isEqualToString:@"Dan") {
    // summat...
}

If you know for sure that you have string data on both sides of the condition you could use

if ([userinfo objectAtIndex:0] isEqualToString:@"Dan") {
    // summat...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文