0

データを JSON 形式で応答として送信するサーブレットを呼び出そうとしています。jfactory.createJsonGenerator(file);これには JACKSON ライブラリを使用しています。それ以外を使用すると、出力をファイルに書き込むことができます。出力を取得できません。ここで何か不足している場合はお知らせください。

サーブレットからの doGet メソッド

JsonFactory jfactory = new JsonFactory();
        /*** write to file ***/

        try {
            out = response.getWriter();
            JsonGenerator jGenerator = jfactory.createJsonGenerator(out);
            jGenerator.writeStartObject(); // {
            jGenerator.writeStringField("title", title); // "title" : title
            jGenerator.writeStringField("Description", desc); // "desc" : Description
            jGenerator.writeFieldName("images");
            jGenerator.writeStartArray(); // [
         for(String img: imageArray){
            jGenerator.writeString(img); // "msg 1"
         }
         jGenerator.writeEndArray(); // ]
            jGenerator.writeEndObject(); // }
         //jGenerator.close();
         out.flush();
         System.out.println(jGenerator.getOutputContext().toString());

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

HTML ページ

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $.getJSON("http://localhost:8080/JsoupPrj/JasonGen",function(data){
    $("#content").html(data);
    $('.log').html('it is called');
        });
    });
</script>

</head>
<body>
<div id="content"></div>
<div class="log"></div>
4

1 に答える 1

0

これは遅いかもしれません。しかし、誰かに役立つ場合に備えて、私の経験を共有すると思いました。

ここに私のpom.xmlのサンプルがあります:

    <dependency>
        <groupId> org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.12</version>
    </dependency>

これが私のサーブレットにあるものです:

    List<String> ooErrors = new ArrayList<String>();
    //serialize the errors object. 
    ObjectMapper mapper = new ObjectMapper();
    String errorsJson = mapper.writeValueAsString(ooErrors);        
    response.setContentType("application/json");
    response.getOutputStream().print(errorsJson);

うまくいけば、これは誰かを助けます。

于 2013-03-05T00:40:46.363 に答える