ホームページ  >  記事  >  ウェブフロントエンド  >  エンティティクラスとJSONオブジェクト間の変換方法のまとめ

エンティティクラスとJSONオブジェクト間の変換方法のまとめ

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-24 17:31:583735ブラウズ

今回は、エンティティクラスとJSONオブジェクト間の変換方法の概要と、エンティティクラスとJSONオブジェクトを変換する際の注意事項について説明します。以下は実際のケースです。見てみましょう。

JSON オブジェクトを使用してデータをカプセル化する必要がある場合、POJO のアイデアを使用するために、JSON をエンティティ オブジェクトに変換して操作することがよくあります

package myUtil;
import java.io.IOException;
import myProject.Student;
import myProject.StudentList;
import org.codehaus.jackson.map.ObjectMapper;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
 * 实体类和JSON对象之间相互转化(依赖包jackson-all-1.7.6.jar、jsoup-1.5.2.jar)
 * @author wck
 *
 */
public class JSONUtil {
  /**
   * 将json转化为实体POJO
   * @param jsonStr
   * @param obj
   * @return
   */
  public static<T> Object JSONToObj(String jsonStr,Class<T> obj) {
    T t = null;
    try {
      ObjectMapper objectMapper = new ObjectMapper();
      t = objectMapper.readValue(jsonStr,
          obj);
    } catch (Exception e) {
      e.printStackTrace();
    }
    return t;
  }
  /**
   * 将实体POJO转化为JSON
   * @param obj
   * @return
   * @throws JSONException
   * @throws IOException
   */
  public static<T> JSONObject objectToJson(T obj) throws JSONException, IOException {
    ObjectMapper mapper = new ObjectMapper(); 
    // Convert object to JSON string 
    String jsonStr = "";
    try {
       jsonStr = mapper.writeValueAsString(obj);
    } catch (IOException e) {
      throw e;
    }
    return new JSONObject(jsonStr);
  }
  public static void main(String[] args) throws JSONException, IOException {
    JSONObject obj = null;
    obj = new JSONObject();
    obj.put("name", "213");
    obj.put("age", 27);
    JSONArray array = new JSONArray();
    array.put(obj);
    obj = new JSONObject();
    obj.put("name", "214");
    obj.put("age", 28);
    array.put(obj);
    Student stu = (Student) JSONToObj(obj.toString(), Student.class);
    JSONObject objList = new JSONObject();
    objList.put("student", array);
    System.out.println("objList:"+objList);
    StudentList stuList = (StudentList) JSONToObj(objList.toString(), StudentList.class);
    System.out.println("student:"+stu);
    System.out.println("stuList:"+stuList);
    System.out.println("#####################################");
    JSONObject getObj = objectToJson(stu);
    System.out.println(getObj);
  }
}
。この記事の事例を読んだ後にそれを実行してください。さらに興味深い方法については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨書籍:

Json.netの使用方法

オブジェクトをJSON形式に変換する方法

以上がエンティティクラスとJSONオブジェクト間の変換方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Json.netの使い方次の記事:Json.netの使い方