SORU
14 Ocak 2014, Salı


Temsil JSON null

JSON null değer döndürmek için tercih edilen yöntem nedir? İlkel insanlar için farklı bir tercihi var mı?

Eğer sunucuda bir nesne bir Tamsayı "myCount" Değer, Değer için en doğru JSON olurdu: denir . örneğin,

{}

ya

{
    "myCount": null
}

ya

{
    "myCount": 0
}

Dizeleri null bir dize varsa - "" sunucu üzerinde, en iyi JSON . hoşgeldiniz için aynı soru

{}

ya

{
    "myString": null
}

ya

{
    "myStrung": ""
}

veya (Tanrım bana yardım et)

{
    "myString": "null"
}

Koleksiyonlar JSON temsil edecek olan sözleşmesini 25* *boş bir koleksiyon olarak seviyorum

Boş bir Dizi temsil eder:

{
    "myArray": []
}

Özet DÜZENLEYİN

'Kişisel bir tercih' argümanı gerçekçi görünüyor, ama bir topluluk harcayan olacak bu özellikle ince kısa, farklı hizmetler/kaynakları daha fazla sayıda. JSON yapısı kuralları tüketimi normale ve dedi hizmetlerinin yeniden yardımcı olacaktır. Bildiğim kadarıyla bir standart oluşturmak, birkaç istisna dışında Jackson sözleşmelerinin çoğu benimsenmesi öneririm:

  • Nesneler ilkel tercih edilir.
  • Boş boş koleksiyonları tercih edilir.
  • Değer nesneleri null olarak gösterilir.
  • İlkel onların değerini döndürür.

Eğer çoğunlukla boş değerler ile bir JSON nesnesi döndüren, birden fazla hizmet içine yeniden düzenleme için bir aday olabilir.

{

    "value1": null,

    "value2": null,

    "text1": null,

    "text2": "hello",

    "intValue": 0, //use primitive only if you are absolutely sure the answer is 0

    "myList": [],

    "myEmptyList": null, //NOT BEST PRACTICE - return [] instead

    "boolean1": null, //use primitive only if you are absolutely sure the answer is true/false

    "littleboolean": false

}

Yukarıdaki JSON aşağıdaki Java sınıfı oluşturuldu.

package jackson;

import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonApp {

    public static class Data {

        public Integer value1;

        public Integer value2;

        public String text1;

        public String text2 = "hello";

        public int intValue;

        public List<Object> myList = new ArrayList<Object>();

        public List<Object> myEmptyList;

        public Boolean boolean1;

        public boolean littleboolean;

    }

    public static void main(String[] args) throws Exception {
        ObjectMapper mapper = new ObjectMapper();
        System.out.println(mapper.writeValueAsString(new Data()));
    }
}

Maven bağımlılık:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.3.0</version>
</dependency>

CEVAP
14 Ocak 2014, Salı


null sıfır değil. Bir değer değilper se: değişken eksik veya bilinmeyen verileri gösteren etki alanı dışında bir değerdir.

JSON null temsil etmek için tek bir yolu var. Özellikleri (RFC 4627 json.org): başına

2.1.  Values

A JSON value MUST be an object, array, number, or string, or one of
the following three literal names:

  false null true

enter image description here

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • rtisticsdev

    rtisticsdev

    31 Mayıs 2012
  • Triune Films

    Triune Films

    9 ŞUBAT 2006