输入流以获取json示例并打印

时间:2017-03-02 12:10:50

标签: java

我在第InputStream is= JSONjava.class.getResourceAsStream ( "JSONexample.json"); String JSONexample = IOUtils.toString( is );行遇到了麻烦,我试图输入“import sun.misc.IOUtils;”但它不起作用,任何帮助都会有用,谢谢。

import java.io.InputStream;
import org.json.JSONObject;    
import sun.misc.IOUtils;

public class JSONjava {

    public static void main(String[] args) throws Exception {

        InputStream is = JSONjava.class.getResourceAsStream( "JSONexample.json");
        String JSONexample = IOUtils.toString( is );

        JSONObject json = (JSONObject) JSONSerializer.toJSON( JSONexample ); 
        JSONObject slides = json.getJSONObject("pilot");

        String name = slides.getString("name");
        String desc = slides.getString("desc");

        System.out.println( "Name: " + name );
        System.out.println( "Description: " + desc );

    }

}


//The code in JSONexmaple.json

    {
        "slides": [{
        "name": "zzz",    
        "desc": "xxx"
        }]
    }

2 个答案:

答案 0 :(得分:0)

使用以下代码

public static void main(String[] args) throws Exception {

    InputStream is = JSONjava.class.getResourceAsStream( "JSONexample.json");
    String JSONexample = IOUtils.toString( is );

    JSONObject json = (JSONObject) JSONSerializer.toJSON( JSONexample ); 
    JSONArray slides = json.getJSONArray("slides");

    String name = slides.getJSONObject(0).getString("name");
    String desc = slides.getJSONObject(0).getString("desc");

    System.out.println( "Name: " + name );
    System.out.println( "Description: " + desc );

}

答案 1 :(得分:0)

您可能需要org.apache.commons.io.IOUtils而不是sun.misc.IOUtils

我说"可能"因为你只是说"它没有工作"。如果你可以减少人们猜测问题的必要性,你会得到更多更好的帮助。

如果我对你的问题的假设是对的:

  • 如果你需要获得该库,那就here

  • 它有一个IOUtils.toString(InputStream),可以是您在示例中使用的那个。

  • 该方法已弃用,因此尽管您仍然可以使用它,但我建议您考虑弃用评论中的建议。

  • 我相信一旦你解决了这个编译错误,@ sagar676在对他/她的回答的评论中提到的问题将在运行时出现。