방금 JsonFx를 사용하여 JSON 코덱을 구현했습니다. 그것은 다음과 같이 진행됩니다
using System.IO;
using System.Text;
using JsonFx.Json;
namespace Example
{
[global::OpenRasta.Codecs.MediaType("application/json")]
public class JsonFXCodec : global::OpenRasta.Codecs.IMediaTypeWriter, global::OpenRasta.Codecs.IMediaTypeReader
{
public void WriteTo(object entity, global::OpenRasta.Web.IHttpEntity response, string[] codecParameters)
{
JsonWriter json = new JsonWriter();
using (TextWriter w = new StreamWriter(response.Stream, Encoding.UTF8))
{
json.Write(entity, w);
}
}
public object ReadFrom(global::OpenRasta.Web.IHttpEntity request, global::OpenRasta.TypeSystem.IType destinationType, string destinationName)
{
JsonReader json = new JsonReader();
using (TextReader r = new StreamReader(request.Stream, Encoding.UTF8))
{
return json.Read(r, destinationType.StaticType);
}
}
public object Configuration { get; set; }
}
}
가 "객체"에 등록되고있는 경우는 모든 클래스에 대해 작동하는 것 같다 :
ResourceSpace.Has.ResourcesOfType<object>()
.WithoutUri
.TranscodedBy<JsonFXCodec>();
모든 사람이 사용할 수 있도록 구현을 공유하고 싶으십니까? 일반적으로 클래스 파일을 지정할 수없는 동적 JSON 객체를 허용하는 REST API로 작업 할 때 일반적인 용도로 보입니다. 당신은 OpenRasta의 저자입니다, 그렇죠? 나는 당신이 그것을 온라인에 놓을만한 장소를 찾을 것이라고 생각한다 : :) P.S. 귀하의 암묵적인 대답은 : "OpenRasta에 내장 된 것은 아무것도 없습니다."맞습니까? –
이번 주말에 오픈 랩에서 패키지를 푸시 할 수 있습니다. 오히려 간단합니다. 블로그 게시물을 가치있게 생각할 수도 있습니다. OpenRasta에서 사용할 수있는 속임수 중 하나는 URI가 상속되지 않는 리소스에 대한 등록이므로
그것은 굉장 할 것입니다. 당신이 주변에 있다면, 당신의 대답에 덧붙여주십시오. –