gpt4 book ai didi

php - 来自PHP服务的JSON解析问题

转载 作者:行者123 更新时间:2023-12-01 19:12:14 27 4
gpt4 key购买 nike

我在像这样的PHP脚本中的二维数组上使用json_encode:

$myjsons[] = json_encode(array($runners));

以及脚本后面的许多一维数组:
$myjsons[] = json_encode(array($mrow));

然后,我在脚本末尾对整个数组进行编码后回显:
echo json_encode($myjsons);

我正在开发与此服务进行通信的iOS应用。好吧,至少应该如此。这是iOS代码减去错误检查:(我正在使用JSONKit,顺便说一句)
NSMutableURLRequest *urlReq = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:kStartRaceURL]];
[urlReq setHTTPMethod:@"GET"];

NSError *requestError;
NSURLResponse *urlResponse = nil;

NSData *response = [NSURLConnection sendSynchronousRequest:urlReq returningResponse:&urlResponse error:&requestError];

NSArray *deserializedData = [response objectFromJSONData];

deserializedData是一个数组,但是其中的所有对象都是字符串。我将数组放入其中,如PHP所示,为什么要使用NSString?实施的问题在哪里?还是应该对NSString做些事情?

最佳答案

json_encode返回一个字符串,因此,将它们放入数组中时,将得到一个字符串数组。当您对该数组进行json_encode编码时,您将获得一个(JSON)字符串字符串数组。

要解决此问题,您应该首先将所有数组合并为一个大数组,然后在该最终数组上只调用json_encode。例:

$myjsons[] = array($runners);
$myjsons[] = array($mrow);

echo json_encode($myjsons); // Correct JSON as you expect it.

关于php - 来自PHP服务的JSON解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15726552/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com