19

Java ( json-simple を使用) で、JSON.stringify を使用して JavaScript で作成された JSON 文字列を正常に解析しました。次のようになります。

{"teq":14567,"ver":1,"rev":1234,"cop":15678}

この文字列は、純粋な Java クラスとして再構成したいカスタム JavaScript オブジェクトの状態を格納しています。うまくいっていません - C# のバックグラウンドから来た Java への最初の進出。:-p

json-simple が JSONParser.parse() 操作から作成したものであるため、オブジェクトは現在 org.json.simple.JSONObject の形式になっています。

この JSONObject を新しい Java クラスにキャストするにはどうすればよいですか? (その定義は以下のとおりです...)

public class MyCustomJSObject {
    public int teq;
    public int ver;
    public int rev;
    public int cop;
}
4

5 に答える 5

19

ジャクソンライブラリを使用

    //create ObjectMapper instance
    ObjectMapper objectMapper = new ObjectMapper();

    //convert json string to object
    Employee emp = objectMapper.readValue(jsonData, Employee.class); 
于 2014-06-15T15:42:25.253 に答える
7

これを行うライブラリはたくさんあります。これが私の提案です。ここでライブラリを見つけることができます

import com.google.gson.Gson; 

そして、

Gson gson = new Gson();  
Student student = gson.fromJson(jsonStringGoesHere, Student.class);  

Maven の依存関係

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.4</version>
    </dependency>
于 2014-06-15T15:44:20.853 に答える
2

JSON文字列からJavaクラスへ? あなたはfastjsonを試すことができます:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.1.41</version>
</dependency>

そしてJavaコードを使用:

MyCustomJSObject object = JSON.parseObject(jsonString,MyCustomJSObject.class); 
于 2014-06-15T15:41:33.913 に答える