programing

ASP에서 JSON 개체를 반환하는 중입니다.NET 페이지

easyjava 2023. 2. 28. 23:51
반응형

ASP에서 JSON 개체를 반환하는 중입니다.NET 페이지

제 특정한 상황에서, 저는 제 문제에 대한 몇 가지 해결책이 있습니다.나는 어떤 것이 더 실현 가능한지 알고 싶다.이 경우 서버 측 코드에서 JSON 객체를 반환하여 목표를 달성할 수도 있지만, 그 방법과 최선의 방법은 알 수 없습니다.

우선, aspx 페이지는 필요 없습니다.코드에서 반환된 응답만 필요하기 때문입니다.그럼 웹 서비스나 핸들러를 사용해야 하나요?아니면 다른 방법이 있나요?

결결결 실현 ??? ???은 JSON을 합니까?StringBuilder대상 aspx 페이지에 해당 문자열을 삽입할 수 있습니까?의사사 ?? ?? ?? ?? ? ???

당신의 아이디어에 감사드립니다.

안부 전해요,

케말

-----------------------------------------------------------

userlist.aspx 페이지에 JSON 개체가 있다고 가정하면 jQuery에서 사용합니다.

{"menu": {
  "id": "color1",
  "value": "color",
  "popup": {
    "menuitem": [
      {"value": "Red"},
      {"value": "Green"},
      {"value": "Yellow"}
    ]
  }
}} // example taken from the json.org/example page

이제 aspx 페이지에서 새 메뉴 항목을 추가하려면 어떻게 해야 합니까?제 질문은 좀 더 구체적일 것 같아요

aspx로 새로운 문자열을 합니다."{"value": "Blue"}타겟 페이지의 기존 아이템 리스트에 삽입하려면 어떻게 해야 하나요?아니면 이런 상황에 대한 올바른 접근법이 아닐까요?그렇지 않다면, 다른 방법으로 달성할 수 있을까요?

또한 이 목록에 새로운 아이템이 추가되었을 때 jQuery 이벤트를 실행하려면 어떻게 해야 하나요?

-----------------------------------------------------------------------------

내가 이 질문을 했을 때, 내가 그 문제에 접근하는 방식은 다른 측면이었다.되어 있지 않고 JSON을 JSON으로 에, 는 이 보다 할 수 되었습니다.@DavGarcia에도 시사하고 있습니다.

Page_Load에서 일반 출력을 지우고 자신의 출력을 기록해야 합니다. 예를 들어 다음과 같습니다.

string json = "{\"name\":\"Joe\"}";
Response.Clear();
Response.ContentType = "application/json; charset=utf-8";
Response.Write(json);
Response.End();

C# 개체를 JSON으로 변환하려면 Json 등의 라이브러리를 사용합니다.네트워크

다만, .aspx 페이지에 JSON을 출력하는 대신에, Web Service(asmx) 또는 WCF 를 사용하는 것을 검토해 주세요.이것들은 둘 다 JSON을 출력할 수 있습니다.

asp로 하는 것은 문제 없습니다.MVC에서 그렇게 하는 것은 가장 자연스러운 일이지만 표준 ASP에서도 가능합니다.

MVC 프레임워크에는 JSON을 위한 모든 종류의 도우미 클래스가 있습니다. 가능하다면 MVC-love에 대한 조사를 제안합니다.그렇지 않다면 MVC가 사용하는 JSON 도우미 클래스를 쉽게 가져와 asp.net의 컨텍스트에서 사용할 수 있습니다.

편집:

다음은 MVC를 사용하여 JSON 데이터를 반환하는 방법의 예입니다.이것은 컨트롤러 클래스입니다.이것은 MVC에서 즉시 사용할 수 있는 기능입니다.새로운 MVC 프로젝트를 작성하면 이 기능이 자동으로 생성되므로 특별한 것은 아닙니다.제가 하고 있는 것은 JSON이라는actionResult를 반환하는 것뿐입니다.호출하는 JSON 메서드는 컨트롤러 클래스의 메서드입니다.이것은 모두 매우 기본적인 디폴트 MVC입니다.

public ActionResult GetData()
{
    var data = new { Name="kevin", Age=40 };
    return Json(data, JsonRequestBehavior.AllowGet);
}

따라서 이 반환 데이터는 JQuery를 통해 Ajax 콜로서 호출할 수 있습니다.

$.get("/Reader/GetData/", function(data) { someJavacriptMethodOnData(data); });

ASP 사용.NET Web Pages 는, 기본적인 GET 의 예로서 1 페이지에 표시할 수 있습니다(가장 간단하게 동작할 수 있습니다).

var json = Json.Encode(new {
    orientation = Cache["orientation"],
    alerted = Cache["alerted"] as bool?,
    since = Cache["since"] as DateTime?
});
Response.Write(json);

뒤에 코드가 있으면 이런 걸 쓰세요.

        MyCustomObject myObject = new MyCustomObject();
        myObject.name='try';
        //OBJECT -> JSON
        var javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
        string myObjectJson = javaScriptSerializer.Serialize(myObject);
        //return JSON   
        Response.Clear();     
        Response.ContentType = "application/json; charset=utf-8";
        Response.Write(myObjectJson );
        Response.End();

따라서 MyCustomObject의 모든 속성을 사용하여 직렬화된 json 개체를 반환합니다.

언급URL : https://stackoverflow.com/questions/2422983/returning-json-object-from-an-asp-net-page

반응형