【发布时间】:2021-10-01 07:02:37
【问题描述】:
我正在使用 C# 制作一个应用程序,需要将 JSON 数组发布到我的 php api 文件中。我有这个代码:
string JSONString = JsonConvert.SerializeObject(dt);
var client = new RestClient(ipadress);
var request = new RestRequest(apiendpoint, Method.POST);
request.RequestFormat = DataFormat.Json;
var body = new
{
key = apikey,
items = JSONString
};
request.AddJsonBody(body);
var response = client.Post(request);
var content = response.Content; // Raw content as string
MessageBox.Show(content.ToString());
所以,问题在于items = JSONString 作为字符串而不是数组发送,并且 PHP API 文件没有将其作为数组输入(我无法从行中提取值)。我没有找到任何信息,我怎样才能在 RestSharp 中制作二级数组,比如(它只是虚构的代码,它不起作用:
var body = new
{
key = apikey,
items = {
foreach(DataRow row in dt.Rows)
{
aid = row["aid"].ToString(),
item= row["item"].ToString(),
desc= row["desc"].ToString()
}
}
};
我的 PHP api 文件(仅供参考,我正在使用框架):
$resultArray = array_map("html_entity_decode", $data);
foreach ($resultArray as $items) {
$db->insert("test_items", ["aid"=>$items->aid, "item"=>$items->item, "desc"=>$items->desc]);
}
dnd($resultArray['items']);
【问题讨论】:
标签: c# php arrays json restsharp