我通过NSString
从我的iOS设备/模拟器向我的服务器发送JSONData
NSURLConnection sendSynchronousRequest
个。{/ p>
我在应用程序中的JSON字符串是:
jsonString---->{
"ACTION" : "MyActn",
"PARAM_1" : "myParm1"
"PARAM_2" : "myParm2",
}
我发送的NSData
形式(不可理解,我认为安全:D):
7b225041 52414d5f 32223a22 6d795061 726d3222 2c224143 54494f4e 223a224d 79416374 6e222c22 50415241 4d5f3122 3a226d79 5061726d 31227d
在服务器端,我有以下代码:
// The code is just for studying JSON parsing and data communication in iOS and PHP
<?php
data = json_decode(file_get_contents('php://input'), true);
echo json_encode($data);
?>
页面回显了实际的JOSN数据数组,我发送数据并通过Objective C代码获取此结果:
NSData *sendData = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil
error:nil];
NSString *returningString = [[NSString alloc] initWithData:sendData
encoding:NSUTF8StringEncoding];
当我NSLog的'returnsString'时,它直接打印JSON(可读,我认为它是不安全也是:D):
{"PARAM_2":"myParm2","ACTION":"MyActn","PARAM_1":"myParm1"}
所以,我的问题是:
NSJSONSerialization JSONObjectWithDat
解码。注意:请不要提及任何外部库,因为我想使用NSJSONSerialization
。 :)
如果我在某个地方错了,请原谅我。我只是一个尝试在iOS中学习JSON解析的人
答案 0 :(得分:0)
我所遵循的方法是否正确?
取决于您如何定义正确。它应该工作。但是,如果您没有充分的理由发出同步请求,那么您应该发出异步请求以阻止阻止用户界面等。
如何在PHP代码中将编码的JSON数据字符串转换为不可读的格式?
可能很难阅读,但它肯定不可读。它只是JSON数据的字节表示,可以很容易地进行逆向工程&#34; (甚至不能称之为逆向工程)。这是不方式&#34;安全&#34;。如果你真的想要这种方式的安全数据,你必须使用真正的加密。
如果我这样做,那么编码的字符串是否可以通过NSJSONSerialization解码JSONObjectWithDat
如果你将你的JSON转换为PHP中的字节(不能告诉你这是怎么做的)你应该能够使用NSData初始化程序将它解码为JSON。