mirror of
https://github.com/balkian/SOJA.git
synced 2024-12-27 12:18:13 +00:00
Added JSON to JASON conversion
This commit is contained in:
parent
4860b9d6b9
commit
b23bbd0451
@ -6,8 +6,13 @@ package es.upm.dit.gsi.jason.utils;
|
||||
import jason.asSyntax.Literal;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/**
|
||||
*
|
||||
* Project: Web40SOJason
|
||||
@ -84,4 +89,60 @@ public abstract class CollectionUtils {
|
||||
|
||||
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 (!isCompactable(str)) {return null;}
|
||||
|
||||
str = str.toLowerCase();
|
||||
str = str.replace("_", "___");
|
||||
str = str.replace(" ", "_");
|
||||
str = str.replace("ñ", "n");
|
||||
return str.toLowerCase();
|
||||
return str.replace("ñ", "n");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -98,7 +98,7 @@ public class SocketIOConnector implements AsyncWebServiceConnector{
|
||||
model.setDataInbox(agName, lit);
|
||||
logger.info("DataInbox set");
|
||||
}
|
||||
}, new JSONObject().put("Hello", "Planeta"));
|
||||
}, new JSONObject().put("Sending", "From Jason"));
|
||||
} catch (JSONException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
|
Loading…
Reference in New Issue
Block a user