溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Json和xml的拼接和解析

發(fā)布時(shí)間:2020-06-27 01:49:56 來(lái)源:網(wǎng)絡(luò) 閱讀:902 作者:祝你幸福365 欄目:移動(dòng)開發(fā)
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;
	}
	
	
}


附件:http://down.51cto.com/data/2365330
向AI問一下細(xì)節(jié)

免責(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)容。

AI