By GokiSoft.com| 20:10 05/08/2022|
Java Advanced

JSON: Tạo JSON file & đọc nội dung JSON file thông tin cá nhân bằng Java

Viết tài liệu JSON mô tả thông tin cá nhân, sở thích, dụng cụ học tập, ngôn ngữ lập trình bạn thích

Yêu cầu: Khi đọc tài liệu có thể biết được profile của 1 cá nhân duy nhất, xem được thông tin cá nhân, sở thích, ngôn ngữ lập trình của cá nhân đó và các trang thiết bị học tập. Các thẻ phải mô tả chính xác nội dung đang cần diễn đạt (cách đặt tên)


Viết chương trình phân tích tài liệu trên bằng Java

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Trương Công Vinh [T1907A]
Trương Công Vinh

2020-04-20 08:49:23



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Profile;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.JSONArray;
import org.json.JSONObject;

/**
 *
 * @author DELL
 */
public class Main {
    public static void main(String[] args) {
        FileInputStream fis = null;
        
        try {
            fis = new FileInputStream("d://JSON/profile.json");
            
            StringBuilder strB = new StringBuilder();
            int code;
            while ((code = fis.read())!=-1) {                
                strB.append((char) code);
            }
            String Contend = strB.toString();
            
            
            JSONArray array = new JSONArray(Contend);
            
            ArrayList<person> personList = new ArrayList<>();
            
            for (int i = 0; i < array.length(); i++) {
                JSONObject obj = array.getJSONObject(i);
                person person = new person();
                person.ConvertJSON(obj);
                personList.add(person);
            }
            for (person object : personList) {
                object.display();
            }
            
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }finally{
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Profile;

import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONString;

/**
 *
 * @author DELL
 */
public class person {
     String fullname,gender, address , email ;
    int age;
    ArrayList<String> favourite = new ArrayList<>();
    ArrayList<String> learningtool = new ArrayList<>();
    ArrayList<String> programming_language = new ArrayList<>();

    public person() {
    }

    public person(String fullname, String gender, String address, String email, int age) {
        this.fullname = fullname;
        this.gender = gender;
        this.address = address;
        this.email = email;
        this.age = age;
        
    }

    public String getFullname() {
        return fullname;
    }

    public void setFullname(String fullname) {
        this.fullname = fullname;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

   

    public ArrayList<String> getFavourite() {
        return favourite;
    }

    public void setFavourite(ArrayList<String> favourite) {
        this.favourite = favourite;
    }

    public ArrayList<String> getLearningtool() {
        return learningtool;
    }

    public void setLearningtool(ArrayList<String> learningtool) {
        this.learningtool = learningtool;
    }

    public ArrayList<String> getProgramming_language() {
        return programming_language;
    }

    public void setProgramming_language(ArrayList<String> programming_language) {
        this.programming_language = programming_language;
    }

    @Override
    public String toString() {
        return "person{" + "fullname=" + fullname + ", gender=" + gender + ", address=" + address + ", email=" + email + ", age=" + age + '}';
    }
    public void ConvertJSON(JSONObject obj){
        fullname = obj.getString("fullname");
        gender = obj.getString("gender");
        address = obj.getString("address");
        email = obj.getString("email");
        age = obj.getInt("age");
        JSONArray arr = obj.getJSONArray("favourite_list");
        for (int i = 0; i < arr.length(); i++) {
            String str = arr.getString(i);
            favourite.add(str);
        }
        JSONArray arr1 = obj.getJSONArray("learningtools_list");
        for (int i = 0; i < arr.length(); i++) {
            String str = arr.getString(i);
            learningtool.add(str);
        }
        JSONArray arr2 = obj.getJSONArray("programming_languages_you_like");
        for (int i = 0; i < arr.length(); i++) {
            String str = arr.getString(i);
            programming_language.add(str);
        }
    }

    public void display(){
        System.out.println(toString());
        System.out.println("Favourites :");
        for (int i = 0; i < favourite.size(); i++) {
            System.out.println("Favourite : "+favourite.get(i));
        }
        System.out.println("learningtools_list");
        for (int i = 0; i < learningtool.size(); i++) {
            System.out.println("tool : " + learningtool.get(i) );
        }
        System.out.println("programming_languages_you_like : ");
        for (int i = 0; i < programming_language.size(); i++) {
            System.out.println("programming_language : "+programming_language.get(i));
        }
    }
}



[
  {
    "fullname": "Vinh",
    "age": "18",
    "gender": "Male",
    "email": "duongcongvinh18122001@gmail.com",
    "address": "Earth",
    "favourite_list": [
      "coding",
      "coding"
    ],
    "learningtools_list": [
      "tool 0",
      "tool 1",
      "tool 3",
      "tool 2"
    ],
    "programming_languages_you_like": [
      "@@",
      "@@"
    ]
  }
]