Kini ada SENARAI:
[
{
"type":"呼吸系统",
"illness":"肺气肿",
"quotaName": "血压"
},
{
"type":"呼吸系统",
"illness":"肺气肿",
"quotaName": "血常规"
},
{
"type":"呼吸系统",
"illness":"哮喘",
"quotaName": "血常规"
},
{
"type":"循环系统",
"illness":"高血压",
"quotaName": "心电图"
},
{
"type":"循环系统",
"illness":"高血压",
"quotaName": "心电彩超"
}
]
Senarai yang saya nak:
[
{
"type":"呼吸系统",
"illnessList":[
{
"name":"肺气肿",
"quotaList":[
{
"name":"血压"
},
{
"name":"血常规"
}
]
},
{
"name":"哮喘",
"quotaList":[
{
"name":"血常规"
}
]
}
]
},
{
"type":"循环系统",
"illnessList":[
{
"name":"高血压",
"quotaList":[
{
"name":"心电图"
},
{
"name":"心电彩超"
}
]
}
]
}
]
Senarai asal, semua sistem penyakit, penyakit, dan penunjuk pengesanan penyakit digabungkan
Saya ingin mendapatkan senarai berdasarkan klasifikasi jenis, tetapi saya masih tidak dapat mencari idea itu
Gelung, setelah melintasinya berkali-kali, saya rasa kepala saya bercelaru
Mengikut keperluan input dan output penyoal, mulakan sahaja dengan satu
JSONArray
转换到另一个JSONArray
...感觉输出的JSONArray无非是按照了两个属性进行了归类,其实结构应该类似于Map<String,Map<String,List<String>>
,所以我的想法就是把输入的JSONArray
要转化为Map<String, Map<String,List<String>>
的结构即可...而看到我刚才说的按照属性归类...那...很显然...噔噔噔!!!...心中自然浮现了Java8的Collectors.groupingBy
...直接无脑groupingBy
Berikut ialah idea dan kod kecil saya:
Memandangkan ia berorientasikan objek, saya mula-mula mencipta objek Bo input
FromDataBo
Kemudian terdapat objek output yang dicipta mengikut format output
ToDataBo
(Anda boleh mengabaikan kaedah beranotasi dahulu...ia hanya untuk penukaran, anda boleh melihat struktur data dahulu)Sekarang objek input dan output sudah tersedia, kita boleh mengklasifikasikan atribut yang paling penting mengikut atribut, saya akan melihat anggaran penukaran menjadi
Map<String,Map<String,List<String>>
的代码贴出来...主要就是这个嘛...注释嘛,熟悉lamdba
sepintas lalu... Jika anda tidak biasa dengannya, ketahui lebih lanjut. mengenainyaPada penghujungnya ialah kod ujian lengkap dan keputusan, yang terakhir
result
对象就是你需要的输出JSONArray
Keputusan ujian:
Sama-sama...
Bukankah ini ludah keluar dari bahagian belakang? Anda tidak perlu mengendalikannya, beritahu sahaja bahagian belakang. Atau anda boleh menggunakan apa yang mereka ludahkan untuk mencapai kesan anda.
Hanya anda ingin menyelamatkan masalah. Proses terus dalam gelung.
Gunakan tatasusunan di atas dan lakukan pemprosesan dalam gelung, yang sama seperti apa yang anda proses kemudian. Tidak sebaik pra-pemprosesan. Prestasi tinggi. Berikut ialah gaya standard.
Antaramuka disiarkan.
Alamat kod
http://jsbin.com/roqejoficu/e...
Penulisan tidak bagus jika ada kaedah yang lebih baik, saya harap dapat dikongsikan