저는 처음으로 ASP.NET MVC2 사이트 용 Json.NET을 구현하고 있습니다.asp.net mvc json.net 응답
[HttpPost]
public ActionResult FindMe(string searchFirstName, string searchLastName)
{
this.searchFirstName = searchFirstName;
this.searchLastName = searchLastName;
IEnumerable<HomePageUser> results = doSearch();
bool success = (results.Count() == 0) ? false : true;
return Json(new
{
success = success,
results = results
});
}
결과로 인해 결과 세트에있는 항목 중 하나가 열거하고 정말 텍스트 값을 원하는 사실에 문제가 있었다 아닌 숫자 하나를
내 원래의 코드는이처럼 보였다 . 또한 날짜 형식이 문제입니다.
그래서, 다음 Json.NET을 발견하고이 내 코드를 변경 :
[HttpPost]
public JsonNetResult FindMe(string searchFirstName, string searchLastName)
{
this.searchFirstName = searchFirstName;
this.searchLastName = searchLastName;
IEnumerable<HomePageUser> results = doSearch();
bool success = (results.Count() == 0) ? false : true;
JsonNetResult jsonNetResult = new JsonNetResult();
jsonNetResult.SerializerSettings.Converters.Add(new IsoDateTimeConverter());
jsonNetResult.Data = results;// how to add success true/false info?
return jsonNetResult;
}
이 위의 두 가지 문제를 해결하지만, 지금은 기존 자바 스크립트 코드이 원활한 만드는 방법을 궁금하네요 그 모습 JSON을 기다리고 있었다 :
{
"success":true,
"results":[{
"UserId":545,
"FirstName":"Scott",
"LastName":"Roberson"}]
}
이 오류를 처리하는 섹션으로 이동 대, 답을 작성하기 전에 response.success에 대한 첫 번째 테스트에 저를 허용했다.
제 질문은 결과 노드 옆에 최상위 성공 json 노드를 추가하는 방법입니다.
감사합니다.
UPDATE : 자주의 경우와 마찬가지로, 질문을 작성하는 행위는 그 도현 중 하나에서 아이디어를 촉발
! 순간.
내가 추가하는 경우 :
var returnPackage = new { success = success, results = results};
는 지금처럼 jsonNetResult.Data이 추가 :
jsonNetResult.Data = returnPackage;
그것은 완벽하게 작동합니다.
감사합니다. 어쨌든.
최종 코드 : 여기
[HttpPost]
public JsonNetResult FindMe(string searchFirstName, string searchLastName)
{
this.searchFirstName = searchFirstName;
this.searchLastName = searchLastName;
IEnumerable<HomePageUser> results = doSearch();
bool success = (results.Count() == 0) ? false : true;
var returnPackage = new { success = success, results = results};
JsonNetResult jsonNetResult = new JsonNetResult();
jsonNetResult.SerializerSettings.Converters.Add(new IsoDateTimeConverter());
jsonNetResult.Data = returnPackage;
return jsonNetResult;
}