ไลบรารี Gson ใน Android Studio


95

ใครช่วยให้คำแนะนำทีละขั้นตอนในการเพิ่มไลบรารี Gson ในโครงการ Android ได้ไหม

ฉันลองJSONใช้ไลบรารีในตัว แต่ตอนนี้ดูเหมือนจะน่าเบื่อไปหน่อย ฉันเห็นสองสามตัวอย่างตาม Gson และดูเหมือนจะง่ายมาก

คำตอบ:


185

เพิ่มการอ้างอิงต่อไปนี้หรือดาวน์โหลดไฟล์jar Gson

implementation 'com.google.code.gson:gson:2.8.6'

ติดตามgithub repoสำหรับเอกสารและอื่น ๆ


1
ฉันต้องดาวน์โหลดไฟล์ jar หรือไม่หรือฉันควรเพิ่มคอมไพล์ 'com.XX?
Venky

1
มันไม่ได้เป็นหนี้ทันทีหลังจากเพิ่มการอ้างอิงและพยายามสร้างแอปของฉัน ฉันได้รีสตาร์ทสตูดิโอ Android ของฉันและพยายามสร้างใหม่ มันใช้งานได้ :)
Jagadish Dharanikota

@SillySam: การแก้ไขของคุณควรเป็นคำตอบใหม่เนื่องจากจะเขียนคำตอบนี้ใหม่ทั้งหมด
BDL

@JagadishDharanikota ฉันก็สังเกตเห็นเช่นกัน ฉันคิดว่าคุณสามารถแก้ไขได้โดยไม่ต้องรีสตาร์ทโดยใช้ File -> Sync Project กับ Gradle Files
okhobb

22

อ่านGoogle-gson

Gson เป็นไลบรารี Java ที่สามารถใช้ในการแปลง Java Objects เป็นการแทนค่า JSON นอกจากนี้ยังสามารถใช้เพื่อแปลงสตริง JSON เป็นวัตถุ Java ที่เทียบเท่า

เพิ่มบรรทัดต่อไปนี้ในการกำหนดค่าMODULE LEVEL ของคุณbuild.gradle:

dependencies {
     implementation 'com.google.code.gson:gson:2.8.5' // Old 2.8.2
}

7

ใช้Gradle dependenciesเพื่อรับGsonในโปรเจ็กต์ของคุณ build.gradleแอปพลิเคชันของคุณ ควรมีลักษณะดังนี้ -

dependencies {
  implementation 'com.google.code.gson:gson:2.8.2'
}


1

Gradle:

dependencies {
   implementation 'com.google.code.gson:gson:2.8.5'
}

Maven:

<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.5</version> 
</dependency>

ดาวน์โหลดGson jarได้จาก Maven Central


ตอนนี้ฉันรู้จักเพื่อนเมื่อ 3 ปีก่อนสิ่งนี้ไม่เกี่ยวข้องมากพอที่จะรู้ :)
Venky

1

ไม่จำเป็นต้องเพิ่ม JAR ลงในโปรเจ็กต์ของคุณด้วยตัวเองเพียงแค่เพิ่มการพึ่งพาใน build.gradle (Module lavel) นอกจากนี้พยายามใช้เวอร์ชันอัปเกรดอยู่เสมอ ณ ตอนนี้

dependencies {
  implementation 'com.google.code.gson:gson:2.8.5'
}

เนื่องจากทุกเวอร์ชันที่เพิ่มขึ้นจะมีการแก้ไขข้อบกพร่องหรือการไล่ระดับสีตามที่กล่าวไว้ที่นี่


ฉันรู้ แต่ไม่รู้เมื่อ 3 ปีที่แล้ว :)
Venky

@Venky ... ฉันโพสต์คำตอบนี้สำหรับ SO ที่ยังอยู่ในความคลุมเครือ ... :)
Muahmmad Tayyib
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.