احمد صوالحة نشر 17 فبراير 2021 أرسل تقرير نشر 17 فبراير 2021 لدي البيانات التالية كـJSON: [ { "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } }, { "id": 2, "name": "Ervin Howell", "username": "Antonette", "email": "Shanna@melissa.tv", "address": { "street": "Victor Plains", "suite": "Suite 879", "city": "Wisokyburgh", "zipcode": "90566-7771", "geo": { "lat": "-43.9509", "lng": "-34.4618" } }, "phone": "010-692-6593 x09125", "website": "anastasia.net", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } }, { "id": 3, "name": "Clementine Bauch", "username": "Samantha", "email": "Nathan@yesenia.net", "address": { "street": "Douglas Extension", "suite": "Suite 847", "city": "McKenziehaven", "zipcode": "59590-4157", "geo": { "lat": "-68.6102", "lng": "-47.0653" } }, "phone": "1-463-123-4447", "website": "ramiro.info", "company": { "name": "Romaguera-Jacobson", "catchPhrase": "Face to face bifurcated interface", "bs": "e-enable strategic applications" } } ] كيف احول هذا البيانات إلى Object ؟ 1 اقتباس
0 بلال زيادة نشر 17 فبراير 2021 أرسل تقرير نشر 17 فبراير 2021 يمكنك استخدام الموقع التالي quicktype و تحويل ما تريد من أي شكل من أشكال josn إلى أي لغة تريدها, فمثلا يمكنك تحويل شكل json المرفق من قبلك وهو [ { "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } }, { "id": 2, "name": "Ervin Howell", "username": "Antonette", "email": "Shanna@melissa.tv", "address": { "street": "Victor Plains", "suite": "Suite 879", "city": "Wisokyburgh", "zipcode": "90566-7771", "geo": { "lat": "-43.9509", "lng": "-34.4618" } }, "phone": "010-692-6593 x09125", "website": "anastasia.net", "company": { "name": "Deckow-Crist", "catchPhrase": "Proactive didactic contingency", "bs": "synergize scalable supply-chains" } }, { "id": 3, "name": "Clementine Bauch", "username": "Samantha", "email": "Nathan@yesenia.net", "address": { "street": "Douglas Extension", "suite": "Suite 847", "city": "McKenziehaven", "zipcode": "59590-4157", "geo": { "lat": "-68.6102", "lng": "-47.0653" } }, "phone": "1-463-123-4447", "website": "ramiro.info", "company": { "name": "Romaguera-Jacobson", "catchPhrase": "Face to face bifurcated interface", "bs": "e-enable strategic applications" } } ] إلى جافا و يمكن تحويل شكل الجيسون إلى عدة لغات. // Converter.java // To use this code, add the following Maven dependency to your project: // // // com.fasterxml.jackson.core : jackson-databind : 2.9.0 // com.fasterxml.jackson.datatype : jackson-datatype-jsr310 : 2.9.0 // // Import this package: // // import io.quicktype.Converter; // // Then you can deserialize a JSON string with // // Welcome[] data = Converter.fromJsonString(jsonString); package io.quicktype; import java.io.IOException; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import java.util.*; import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.OffsetTime; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.time.temporal.ChronoField; public class Converter { // Date-time helpers private static final DateTimeFormatter DATE_TIME_FORMATTER = new DateTimeFormatterBuilder() .appendOptional(DateTimeFormatter.ISO_DATE_TIME) .appendOptional(DateTimeFormatter.ISO_OFFSET_DATE_TIME) .appendOptional(DateTimeFormatter.ISO_INSTANT) .appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SX")) .appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssX")) .appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) .toFormatter() .withZone(ZoneOffset.UTC); public static OffsetDateTime parseDateTimeString(String str) { return ZonedDateTime.from(Converter.DATE_TIME_FORMATTER.parse(str)).toOffsetDateTime(); } private static final DateTimeFormatter TIME_FORMATTER = new DateTimeFormatterBuilder() .appendOptional(DateTimeFormatter.ISO_TIME) .appendOptional(DateTimeFormatter.ISO_OFFSET_TIME) .parseDefaulting(ChronoField.YEAR, 2020) .parseDefaulting(ChronoField.MONTH_OF_YEAR, 1) .parseDefaulting(ChronoField.DAY_OF_MONTH, 1) .toFormatter() .withZone(ZoneOffset.UTC); public static OffsetTime parseTimeString(String str) { return ZonedDateTime.from(Converter.TIME_FORMATTER.parse(str)).toOffsetDateTime().toOffsetTime(); } // Serialize/deserialize helpers public static Welcome[] fromJsonString(String json) throws IOException { return getObjectReader().readValue(json); } public static String toJsonString(Welcome[] obj) throws JsonProcessingException { return getObjectWriter().writeValueAsString(obj); } private static ObjectReader reader; private static ObjectWriter writer; private static void instantiateMapper() { ObjectMapper mapper = new ObjectMapper(); mapper.findAndRegisterModules(); mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); SimpleModule module = new SimpleModule(); module.addDeserializer(OffsetDateTime.class, new JsonDeserializer<OffsetDateTime>() { @Override public OffsetDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { String value = jsonParser.getText(); return Converter.parseDateTimeString(value); } }); mapper.registerModule(module); reader = mapper.readerFor(Welcome[].class); writer = mapper.writerFor(Welcome[].class); } private static ObjectReader getObjectReader() { if (reader == null) instantiateMapper(); return reader; } private static ObjectWriter getObjectWriter() { if (writer == null) instantiateMapper(); return writer; } } // Welcome.java package io.quicktype; import com.fasterxml.jackson.annotation.*; public class Welcome { private long id; private String name; private String username; private String email; private Address address; private String phone; private String website; private Company company; @JsonProperty("id") public long getID() { return id; } @JsonProperty("id") public void setID(long value) { this.id = value; } @JsonProperty("name") public String getName() { return name; } @JsonProperty("name") public void setName(String value) { this.name = value; } @JsonProperty("username") public String getUsername() { return username; } @JsonProperty("username") public void setUsername(String value) { this.username = value; } @JsonProperty("email") public String getEmail() { return email; } @JsonProperty("email") public void setEmail(String value) { this.email = value; } @JsonProperty("address") public Address getAddress() { return address; } @JsonProperty("address") public void setAddress(Address value) { this.address = value; } @JsonProperty("phone") public String getPhone() { return phone; } @JsonProperty("phone") public void setPhone(String value) { this.phone = value; } @JsonProperty("website") public String getWebsite() { return website; } @JsonProperty("website") public void setWebsite(String value) { this.website = value; } @JsonProperty("company") public Company getCompany() { return company; } @JsonProperty("company") public void setCompany(Company value) { this.company = value; } } // Address.java package io.quicktype; import com.fasterxml.jackson.annotation.*; public class Address { private String street; private String suite; private String city; private String zipcode; private Geo geo; @JsonProperty("street") public String getStreet() { return street; } @JsonProperty("street") public void setStreet(String value) { this.street = value; } @JsonProperty("suite") public String getSuite() { return suite; } @JsonProperty("suite") public void setSuite(String value) { this.suite = value; } @JsonProperty("city") public String getCity() { return city; } @JsonProperty("city") public void setCity(String value) { this.city = value; } @JsonProperty("zipcode") public String getZipcode() { return zipcode; } @JsonProperty("zipcode") public void setZipcode(String value) { this.zipcode = value; } @JsonProperty("geo") public Geo getGeo() { return geo; } @JsonProperty("geo") public void setGeo(Geo value) { this.geo = value; } } // Geo.java package io.quicktype; import com.fasterxml.jackson.annotation.*; public class Geo { private String lat; private String lng; @JsonProperty("lat") public String getLat() { return lat; } @JsonProperty("lat") public void setLat(String value) { this.lat = value; } @JsonProperty("lng") public String getLng() { return lng; } @JsonProperty("lng") public void setLng(String value) { this.lng = value; } } // Company.java package io.quicktype; import com.fasterxml.jackson.annotation.*; public class Company { private String name; private String catchPhrase; private String bs; @JsonProperty("name") public String getName() { return name; } @JsonProperty("name") public void setName(String value) { this.name = value; } @JsonProperty("catchPhrase") public String getCatchPhrase() { return catchPhrase; } @JsonProperty("catchPhrase") public void setCatchPhrase(String value) { this.catchPhrase = value; } @JsonProperty("bs") public String getBs() { return bs; } @JsonProperty("bs") public void setBs(String value) { this.bs = value; } } في الصورة المرفقة التالية يتم وضع اسم الكلاس. يتم وضع شكل الجيسون في المكان المخصص. ملف بعد التحويل إلى أي لغة. 5. 6. هنا ممكن تتحكم بالأعدادات التي تريدها وتريد استخراج الكلاس بأي إعدادات. اقتباس
0 عبدالباسط ابراهيم نشر 18 فبراير 2021 أرسل تقرير نشر 18 فبراير 2021 يمكنك (إضافة علي الموقع الذي وضحه الأستاذ بلال) إستعمال مكتبات إضافية لجافا حيث أن لغة جافا لا تتدعم التعامل مع json لذلك توجد مكتبات مثل مكتبة Gson من جوجل مكتبة JSON-Simple مكتبة Jackson نأخذ مكتبة Gson كمثال يمكنك خلال سطرين من تحويل ال json إلى java object Gson g = new Gson(); Player p = g.fromJson(jsonString, Player.class) ويمكنك قراءة المزيد عن المكتبات بالأعلى ببحث على الإنترنت اقتباس
السؤال
احمد صوالحة
لدي البيانات التالية كـJSON:
كيف احول هذا البيانات إلى Object ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.