0
我正在用Maven項目構建Jersey服務器,並且除了當我嘗試從C#程序發送請求時,我的一切都正常工作我已經指出用戶將與其數組進行交互JSON顯示爲:JSON數組不會映射到澤西島
[{"Weight":0.0,"RFIDCode":0},{"Weight":55.5,"RFIDCode":1}]
當我的代碼發送到我結束了一個空的Java數組服務器 我的C#代碼如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
using RestSharp;
namespace POSTJSONList
{
class Program
{
static void Main(string[] args)
{
List<ExampleMen> people = new List<ExampleMen>();
JsonSerializer ser = new JsonSerializer();
for (int i = 0; i < 5; i++)
{
ExampleMen person1 = new ExampleMen(i, i * 55.5);
people.Add(person1);
}
string json = JsonConvert.SerializeObject(people);
Console.WriteLine(json);
Console.ReadLine();
var client = new RestClient("http://localhost:9998");
var request = new RestRequest("/trash", Method.POST);
request.AddJsonBody(json);
client.ExecuteAsync(request, response => {
Console.WriteLine(response.Content);
});
Console.ReadLine();
}
}
}
我的Java代碼如下
@POST
@Produces("application/json")
@Consumes(MediaType.APPLICATION_JSON)
//@Param recycleList a list of all of the data that we have collected
public String createtrash_records(trashpickup_type trashList[]){
System.out.println("Im Here Guys!!!!");
// TODO update this to take the information we pass through to it and create individual objects based on it.
// TODO modify to return success code
billing billSystem = billing.getInstance();
systemTotalsTrash sysTotalsTrashSystem = systemTotalsTrash.getInstance();
int i = 1;
for(trashpickup_type alpha : trashList)
{
System.out.println(alpha.getRFIDCode() + alpha.getWeight());
i++;
/*try {
billSystem.updateBillingRecord(rec.getUserName(), 0, rec.getWeight());
sysTotalsTrashSystem.updateSystemTotals(rec.getWeight());
getDao().createIfNotExists(rec);
} catch (SQLException e) {
e.printStackTrace();
}
*/
}
return "It worked";
}
模型代碼(即該JSON被映射到)是這裏
package com.gallup.gethip.model;
import java.util.Date;
import javax.xml.bind.annotation.XmlRootElement;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
@XmlRootElement
@DatabaseTable(tableName="trash_records")
public class trashpickup_type {
@DatabaseField(columnName = "RFIDCode")
private int RFIDCode;
@DatabaseField(columnName = "Weight")
private double Weight;
@DatabaseField(columnName = "PickedUp")
private Date PickedUp;
public trashpickup_type()
{
}
public void setRFIDCode(int RFIDCode)
{
this.RFIDCode = RFIDCode;
}
public void setWeight(double Weight)
{
this.Weight = Weight;
}
public void setPickedUP(Date PickedUp)
{
this.PickedUp = PickedUp;
}
public double getWeight()
{
return Weight;
}
public double getRFIDCode()
{
return RFIDCode;
}
public Date getPickedUp()
{
return PickedUp;
}
}
任何建議讚賞。如有需要,我會根據要求發佈更多信息。