您好,登錄后才能下訂單哦!
package com.minimax.jsonparsedemo; import java.io.StringWriter; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; import java.util.Set; import org.json.JSONArray; import org.json.JSONObject; import org.xmlpull.v1.XmlSerializer; import android.app.Activity; import android.os.Bundle; import android.util.Xml; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView) findViewById(R.id.tv); try { //Json字符串的解析 String json="[{'patient_id':'122331','visit_id':'1231'},{'patient_id':'122332','visit_id':'1232'},{'patient_id':'122333','visit_id':'1233'}]"; JSONArray array=new JSONArray(json); for(int k=0;k<array.length();k++){ JSONObject o=(JSONObject) array.get(k); String patient_id=o.getString("patient_id"); String visit_id=o.getString("visit_id"); System.out.println("patient_id.."+patient_id+"..visit_id.."+visit_id); } HashMap<String,String> map=new HashMap<String, String>(); map.put("101", "2000001"); map.put("102", "2000001"); map.put("103", "2000001"); map.put("104", "2000001"); map.put("105", "2000001"); map.put("106", "2000001"); map.put("107", "2000001"); map.put("108", "2000001"); map.put("109", "2000001"); // String str=getXMLSendData(map); String str=getJsonSendData(map); System.out.println("str..."+str); // Toast.makeText(this, str, Toast.LENGTH_LONG).show(); tv.setText(str); } catch (Exception e) { // TODO: handle exception } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public String getJsonSendData(HashMap<String, String> map){ //Map集合中鍵是patient_id 值是visit_id // [{'patient_id','120','visit_id','11122'},{},{}] StringBuffer requestJson=new StringBuffer(); requestJson.append("["); Set<Entry<String, String>> set=map.entrySet(); Iterator<Entry<String, String>> ito=set.iterator(); while(ito.hasNext()){ Entry<String, String> entry=ito.next(); String patient_id=entry.getKey(); String visit_id=entry.getValue(); requestJson.append("{"); requestJson.append("'"); requestJson.append("patient_id"); requestJson.append("'"); requestJson.append(":"); requestJson.append("'"); requestJson.append(patient_id); requestJson.append("'"); requestJson.append(","); requestJson.append("'"); requestJson.append("visit_id"); requestJson.append("'"); requestJson.append(":"); requestJson.append("'"); requestJson.append(visit_id); requestJson.append("'"); requestJson.append("}"); requestJson.append(","); } int location=requestJson.lastIndexOf(","); requestJson.deleteCharAt(location); requestJson.append("]"); return requestJson.toString(); } public String getXMLSendData(HashMap<String, String> map){ //Map集合中鍵是patient_id 值是visit_id String requestXML=""; try { Set<Entry<String, String>> set=map.entrySet(); Iterator<Entry<String,String>> ito=set.iterator(); StringWriter writer=new StringWriter(); XmlSerializer serializer=Xml.newSerializer(); serializer.setOutput(writer); serializer.startDocument("GBK", true); serializer.startTag(null, "patients"); while(ito.hasNext()){ Entry<String, String> entry=ito.next(); String patient_id=entry.getKey(); String visit_id=entry.getValue(); //在這塊進(jìn)行兩種可能的操作 xml json serializer.startTag(null, "patient_id"); serializer.text(patient_id); serializer.endTag(null,"patient_id"); serializer.startTag(null, "visit_id"); serializer.text(visit_id); serializer.endTag(null,"visit_id"); } serializer.endTag(null, "patients"); serializer.endDocument(); requestXML=writer.toString(); } catch (Exception e) { // TODO: handle exception } return requestXML; } }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。