Javada RFID okuyucu uygulaması üzerinde çalışıyorum ve okuyucu sonuçlarını ayıklamakta zorlanıyorum.Aynı Hashmap anahtarına yerleştirilmiş bir ArrayList içinde belirli değerleri nasıl çizerim?
Geri döndürülen değerler farklı veri türleri olduğundan, RFID etiketlerini okuyan yöntem, değerlerini "String" ve "Integers" tuşlarının altında LinkedHashMap içine yerleştirilmiş bir ArrayList'e girer.
LinkedHashMap lhm = new LinkedHashMap();
List<String> listOfStringVals = new ArrayList<String>();
List<Integer> listOfIntVals = new ArrayList<Integer>();
String tagID = null;
String TimeStamp = null;
String Date = null;
String Time = null;
int tagAntenna = 0;
tagReads = r.read(1000);
// Print tag reads
for (TagReadData tr : tagReads)
{
tagID = tr.epcString();
Date = df.format(new Date());
Time = tf.format(new Date());
TimeStamp = Date + " " + Time;
tagAntenna = tr.getAntenna();
listOfStringVals.add(tagID);
listOfStringVals.add(TimeStamp);
listOfIntVals.add(tagAntenna);
lhm.put("strings", listOfStringVals);
lhm.put("integers", listOfIntVals);
// Shut down reader
r.destroy();
}
connect.insertData(lhm);
LinkedHashMap ayıklamak için ayrı bir yönteme aktarılır.
Fetching Keys and corresponding [Multiple] Values
Key = strings
Values = [tagid1, timestamp1, tagid2, timestamp3, tagid3, timestamp3]
Key = integers
Values = [antenna1, antenna2, antenna3]
Insert Complete!
Ben aynı sayıda grubun TagId, zaman damgası ve anten elde edebilmek için ne eklemelisiniz kodu (toplanmasını ayırmak: Bu ben konsolunda aşağıdaki olsun ile
System.out.println("Fetching Keys and corresponding [Multiple] Values ");
for (Map.Entry<String, List<String>> entry : readMap.entrySet()) {
String key = entry.getKey();
List<String> values = entry.getValue();
System.out.println("Key = " + key);
System.out.println("Values = " + values);
}
System.out.println(" Insert Complete! ");
her biri orijinal olarak ait olan etiketlere değer verir)?
DÜZENLEME: JSON
yılında girdi Örnekvar tagReads = [{
"epc" : "0048029C130143700278303F",
"timestamp" : "2016-01-02 10:20:45",
"antenna" : "1"
},
{
"epc" : "0048029C1301437002783031",
"timestamp" : "2016-01-02 10:20:45",
"antenna" : "1"
}
{
"epc" : "0048029C130143700278305F",
"timestamp" : "2016-01-03 12:12:00",
"antenna" : "2"
}];
Anlamanızı kolaylaştırmak için örnek bir değer girişine sahip bir json verin. – dambros
Üzgünüm, JSON hakkında fazla bir şey okumadım, şimdiye kadar konuyla ilgili bulduklarımdan bazı örnekler ekledim. – Lagostax
Btw kodunuzun birtakım hatalara sahip olduğu görünüyor. Koleksiyon lhm hiçbir zaman örneklenmez ve for döngüsünde r.destroy'i çağırırsınız, böylece ilk etiketi okur ve okuyucuyu okumadan önce okuyucuyu imha eder mi? –