我正在为iOS收据进行服务器端验证。
我想向客户发回两件事:
-the response code from Apple (an int)
-all the product identifiers (possibly an array or object)
我的C#接收器类需要一个int(响应代码)和所有产品标识符,可能是一个数组或对象。
数组中的问题是我必须预先定义元素的数量,这是我无法猜测的。
现在我有了这个:
$obj = (object) [
'status' => $status,
'productIds' => ???????];
echo json_encode($obj);
我应该怎么做?
答案 0 :(得分:0)
Helloooo!
我的意思是没有任何php专家所以请原谅我,如果代码看起来不那么好。
PHP部分:
<?php
$status = 0;
$productIDs = array();
//i dont know how you get the data.. so, loopy loop
for ($x = 1; $x <= 20; $x++)
{
$productIDs[] = $x;
}
//genereate object and fill
$obj = new stdClass;
$obj->status = $status;
$obj->productIDs = $productIDs;
//encode object to json and show it
echo json_encode($obj);
?>
C#Part
创建一个用于从JSON创建对象的类
public class myClass
{
public string status { get; set; }
public int[] productIDs { get; set; }
}
现在只需获取JSON String并创建一个对象。
var jsonSerializer = new JavaScriptSerializer();
//i guess you kinda download the response from your php into a string or stream somehow.. i skipped this step
string jsonString = @"{""status"":45,""productIDs"":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}";
myClass myObject = jsonSerializer.Deserialize<myClass>(jsonString);
与其他提到的一样,您可以使用List作为ProductID。取决于你的代码,风格或......等等。我个人更喜欢List。
希望我能提供帮助。