[10,12,56] Java ile: "anahtar" gibi görünen bir json nesneden değerler getirilmesini nasıl

oy
-2

Ben kullandığım bir Api garip bir şekilde etiketleri kimlikleri döndürür wordpress olarak, bu yolla döndürür:

tags:[50,51,54]

Ben teşekkür ederim, yardımcı olabilir umut ... değeri ve hiçbir ipucu nasıl ayrıştırmak lazım: Ben anahtar gibi görünmüyor herhangi Json görmemiştim!

Güncelleme: Benim hatam, örnek ben yayınlanmıştır öyle gibi gözüküyor, tam bir json değildi:

{categories:[2,8],tags:[50,51,54]}
Oluştur 20/10/2018 saat 14:00
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
0

[] Etiketler bir dizi olarak saklanır göstermektedir. Sen kullanabilirsiniz JSONObject.getJSONArray()sonra kullanın JSONArray nesnesi olarak dizisine erişmek için .getInt()değerleri almak için. Örneğin:

    String jsonString = "{\"categories\":[2,8],\"tags\":[50,51,54]}";
    JSONObject jsonObject = new JSONObject(jsonString);
    JSONArray tagsArray = jsonObject.getJSONArray("tags");
    // Transfer JSONArray to an int[] array.
    int tags[] = new int[tagsArray.length()];
    for (int i=0; i<tagsArray.length(); i++) {
        tags[i] = tagsArray.getInt(i);
    }
Cevap 20/10/2018 saat 14:33
kaynak kullanıcı

oy
0

Bu json dize için bir sınıf oluşturmak ve ana yöntemle gösterildiği gibi kod sadece bir satır ile json ayrıştırmak olabilir.

public class Example {

    private List<Integer> categories = null;
    private List<Integer> tags = null;

    public List<Integer> getCategories() {
        return categories;
    }

    public void setCategories(List<Integer> categories) {
        this.categories = categories;
    }

    public List<Integer> getTags() {
        return tags;
    }

    public void setTags(List<Integer> tags) {
        this.tags = tags;
    }

    public static void main(String[] args) {
        String str = "{\"categories\":[2,8],\"tags\":[50,51,54]}";
        Example example = new Gson().fromJson(str, Example.class);
        System.out.println(example.getCategories());
        System.out.println(example.getTags());
    }
}

Sen, bunun için GSON kütüphane var ve bu ithalat olması gerekir

import com.google.gson.Gson;

Bu sizin için çalışır Umut.

Cevap 20/10/2018 saat 14:24
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more