我有一个json流,可以是这样的:
{"intervention":
{
"id":"3",
"subject":"dddd",
"details":"dddd",
"beginDate":"2012-03-08T00:00:00+01:00",
"endDate":"2012-03-18T00:00:00+01:00",
"campus":
{
"id":"2",
"name":"paris"
}
}
}
Run Code Online (Sandbox Code Playgroud)
或类似的东西
{"intervention":
[{
"id":"1",
"subject":"android",
"details":"test",
"beginDate":"2012-03-26T00:00:00+02:00",
"endDate":"2012-04-09T00:00:00+02:00",
"campus":{
"id":"1",
"name":"lille"
}
},
{
"id":"2",
"subject":"lozlzozlo",
"details":"xxx",
"beginDate":"2012-03-14T00:00:00+01:00",
"endDate":"2012-03-18T00:00:00+01:00",
"campus":{
"id":"1",
"name":"lille"
}
}]
}
Run Code Online (Sandbox Code Playgroud)
在我的Java代码中,我执行以下操作:
JSONObject json = RestManager.getJSONfromURL(myuri); // retrieve the entire json stream
JSONArray interventionJsonArray = json.getJSONArray("intervention");
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,上面的方法不起作用,因为流中只有一个元素.如何检查流是一个object还是一个array?
我试过json.length()但它没有用..
谢谢
每次我尝试将用户附加到组(或创建组)时,我都会收到此错误.
这是GroupController:
public class GroupsController : Controller
{
private Context db = new Context();
[HttpPost]
public ActionResult Create(Group group)
{
if (ModelState.IsValid)
{
group.owner = db.Users.Attach((User)Session["user"]);
//current user stored in session
db.Groups.Add(group);
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
return View(group);
}
}
Run Code Online (Sandbox Code Playgroud)
变量Session ["user"]设置为logon,这里是AccountController代码:
public class AccountController : Controller
{
private Context db = new Context();
[HttpPost]
public ActionResult LogOn(LoginTemplate login, string returnUrl)
{
User result = db.Users.Where(m => m.email == login.email).Where(m => m.password == login.password).SingleOrDefault();
if (result != null)
{ …Run Code Online (Sandbox Code Playgroud)