android - Java后台把数据用json发到手机端,里面是map存放的,必须要说明数据的类型?
PHPz
PHPz 2017-04-18 09:15:18
0
9
389
               List<HashMap> reList = new ArrayList<HashMap>();
                      for(int i=0;i<bjdList.size();i++){
                          Zqwl_yd_jdxx bjd = bjdList.get(i);
                          HashMap temp = new HashMap();
                          temp.put("id",bjd.getId());
                          temp.put("yd_number",bjd.getYd_number());
                          temp.put("status",bjd.getStatus());
                          reList.add(temp);
                      }
                
                 str = JSONValue.toJSONString(reList);
                 response.getWriter().write(str);

我写后台的接口,ios的程序员说必须标注每一个值得类型(string int 。。。)Android的程序员就不用?转正json返回之后不都是字符串了吗?为什么还要标注出int类型?

PHPz
PHPz

学习是最好的投资!

membalas semua(9)
左手右手慢动作

Memandangkan ia adalah perjanjian, ia perlu dipersetujui oleh kedua-dua pihak Adalah lebih baik untuk mempunyai huraian dokumen antara muka Walaupun json hanyalah rentetan, nilai di dalamnya mempunyai jenis yang berbeza bahawa dia tidak perlu menandainya, mungkin ia hanya kerana dia fikir dia boleh memahami anda Jenis data json (tetapi ia tidak semestinya jenis data yang pada asalnya ingin disediakan oleh bahagian belakang anda. Contohnya, jika anda menyediakan. jenis apungan, ia menggunakan dua kali ganda untuk mendapatkannya. Tiada perbezaan untuk nilai yang tidak memerlukan ketepatan tinggi), dan iOS mungkin mahu berfikir dengan lebih teliti, dia mahu menentukan jenis nilai yang tepat, dan dia mesti menyatukannya pada masa ini, jika tidak, anda tidak akan dapat memberitahu jika terdapat masalah pada masa hadapan.

PHPzhong

json hanyalah rentetan.
Tidak, tiada masalah seperti itu apabila saya berhubung dengan pengaturcara ios.

Peter_Zhu

Tidak perlu tanda ~

伊谢尔伦

Saya rasa wajar untuk anda menandakannya.
Saya menghadapi masalah dengan NSNumber dan NSString yang menyebabkan program ranap

黄舟

Sebenarnya, JSON mempunyai jenis "" yang diperluaskan ialah "nilai":"1" dan "nilai":1 adalah berbeza
Sudah tentu, IOS mengatakan ia mesti ditandakan Dia berharap latar belakang boleh mengendalikannya dan menggunakannya secara langsung.

Tidak kira siapa yang betul atau salah, tetapi siapa yang sanggup melakukan lebih banyak lagi.

刘奇

Inti masalah ini adalah untuk memahami dengan tepat takrifan format JSON
Kawal aksara dalam JSON
{Permulaan bekas pasangan nilai kunci (Himpunan pasangan nama/nilai)
} Kunci- Tamat bekas pasangan nilai
[Mula bekas tatasusunan
] Tamat bekas tatasusunan
: pembatas pasangan nilai kunci
" Mula atau tamat rentetan
, pembatas di dalam bekas
Jenis nilai dalam JSON
rentetan ialah bahagian antara dua petikan berganda Teks asal tapak web rasmi ialah koleksi sebarang bilangan aksara Unicode yang dikelilingi oleh petikan berganda rentetan diwakili dalam OC sebagai objek NSString
nombor bermula dengan aksara '0' atau '9' Tapak web rasmi asal mengecualikan format oktal dan heksadesimal yang tidak digunakan, dan diwakili dalam OC sebagai objek
jenis objek, dinyatakan dalam OC sebagai NSDictionary
senarai nilai tersusun ​​(Senarai nilai tersusun), biasanya dikenali sebagai tatasusunan, dinyatakan dalam OC sebagai NSArray
objek null null, objek kosong, Prestasi dalam OC ialah NSNull
bool benar/salah Memandangkan tiada objek Boolean dalam OC, prestasi dalam OC ialah NSNumber

Anda boleh menonton podcast saya
http://cocoa1024.com/2016/03/31/stackjson/

Peter_Zhu

Json hanyalah satu format Anda boleh menganggapnya sebagai rentetan apabila menerimanya, tetapi apabila menghuraikan, nilainya ditaip

伊谢尔伦

Bagaimana dengan dokumen oia jika anda tidak mempunyai oia, sekurang-kurangnya ia mesti mempunyai skema json

小葫芦

Tidak perlu, peta juga boleh dihuraikan terus

{"aaa,bbb";"aaa,bbb"}

   ArrayMap arrayMap = new ArrayMap();
      try {
           org.json.JSONObject obj = new org.json.JSONObject(content);
           Iterator<String> iterator = obj.keys();
           while (iterator.hasNext()) {
               String key = iterator.next();
               String value = (String) obj.get(key);
               arrayMap.put(key, value);
            }
        } catch (JSONException e) {
            e.printStackTrace();
      }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan