mirror of
				https://github.com/balkian/SOJA.git
				synced 2025-11-04 09:38:19 +00:00 
			
		
		
		
	Added JSON to JASON conversion
This commit is contained in:
		@@ -6,8 +6,13 @@ package es.upm.dit.gsi.jason.utils;
 | 
				
			|||||||
import jason.asSyntax.Literal;
 | 
					import jason.asSyntax.Literal;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.Collection;
 | 
					import java.util.Collection;
 | 
				
			||||||
 | 
					import java.util.Iterator;
 | 
				
			||||||
import java.util.LinkedList;
 | 
					import java.util.LinkedList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.json.JSONArray;
 | 
				
			||||||
 | 
					import org.json.JSONException;
 | 
				
			||||||
 | 
					import org.json.JSONObject;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Project: Web40SOJason
 | 
					 * Project: Web40SOJason
 | 
				
			||||||
@@ -84,4 +89,60 @@ public abstract class CollectionUtils {
 | 
				
			|||||||
		
 | 
							
 | 
				
			||||||
		return strArray;
 | 
							return strArray;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public static String toPerceptsObject(JSONObject jso){
 | 
				
			||||||
 | 
							StringBuilder sb = new StringBuilder();
 | 
				
			||||||
 | 
							Iterator<String> it = jso.keys();
 | 
				
			||||||
 | 
							while(it.hasNext()){
 | 
				
			||||||
 | 
								String key = it.next();
 | 
				
			||||||
 | 
								try {
 | 
				
			||||||
 | 
									Object temp= jso.get(key);
 | 
				
			||||||
 | 
									String res = toPercepts(temp);
 | 
				
			||||||
 | 
									sb.append(key+"(");
 | 
				
			||||||
 | 
									sb.append(res);
 | 
				
			||||||
 | 
									sb.append(")");
 | 
				
			||||||
 | 
								} catch (JSONException e) {
 | 
				
			||||||
 | 
									e.printStackTrace();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if(it.hasNext()){
 | 
				
			||||||
 | 
									sb.append(",");
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return sb.toString();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public static String toPerceptsArray(JSONArray jsa){
 | 
				
			||||||
 | 
							StringBuilder sb = new StringBuilder();
 | 
				
			||||||
 | 
							int top = jsa.length();
 | 
				
			||||||
 | 
							int topm = top-1;
 | 
				
			||||||
 | 
							sb.append("[");
 | 
				
			||||||
 | 
							for(int i=0;i<jsa.length();i++){
 | 
				
			||||||
 | 
								try{
 | 
				
			||||||
 | 
									sb.append(toPercepts(jsa.get(i)));
 | 
				
			||||||
 | 
								}catch(JSONException ex){
 | 
				
			||||||
 | 
									ex.printStackTrace();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if(i<topm){
 | 
				
			||||||
 | 
									sb.append(",");
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							sb.append("]");
 | 
				
			||||||
 | 
							return sb.toString();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public static String toPercepts(Object obj){
 | 
				
			||||||
 | 
							if(obj instanceof JSONArray){
 | 
				
			||||||
 | 
								return toPerceptsArray((JSONArray) obj);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else if (obj instanceof JSONObject) {
 | 
				
			||||||
 | 
								return toPerceptsObject((JSONObject) obj);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else{
 | 
				
			||||||
 | 
								return NotationUtils.compact(obj.toString());
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,10 +45,10 @@ public class NotationUtils {
 | 
				
			|||||||
		if (isValidAtom (str)) {return str;}
 | 
							if (isValidAtom (str)) {return str;}
 | 
				
			||||||
		if (!isCompactable(str)) {return null;}
 | 
							if (!isCompactable(str)) {return null;}
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							str = str.toLowerCase();
 | 
				
			||||||
		str = str.replace("_", "___");
 | 
							str = str.replace("_", "___");
 | 
				
			||||||
		str = str.replace(" ", "_");
 | 
							str = str.replace(" ", "_");
 | 
				
			||||||
		str = str.replace("ñ", "n");
 | 
							return str.replace("ñ", "n");
 | 
				
			||||||
		return str.toLowerCase();
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -98,7 +98,7 @@ public class SocketIOConnector implements AsyncWebServiceConnector{
 | 
				
			|||||||
					model.setDataInbox(agName, lit);
 | 
										model.setDataInbox(agName, lit);
 | 
				
			||||||
					logger.info("DataInbox set");
 | 
										logger.info("DataInbox set");
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}, new JSONObject().put("Hello", "Planeta"));
 | 
								}, new JSONObject().put("Sending", "From Jason"));
 | 
				
			||||||
		} catch (JSONException e) {
 | 
							} catch (JSONException e) {
 | 
				
			||||||
			// TODO Auto-generated catch block
 | 
								// TODO Auto-generated catch block
 | 
				
			||||||
			e.printStackTrace();
 | 
								e.printStackTrace();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user