Convert Java List to Javascript Array
android, arrays, java, javascript, list
Solution
I would assume doing this:
Java:
public void onCompleted(List<GraphUser> users, Response response) {
JSONArray arr = new JSONArray();
JSONObject tmp;
try {
for(int i = 0; i < users.size(); i++) {
tmp = new JSONObject();
tmp.put("Id",users.get(i).id); //some public getters inside GraphUser?
tmp.put("Username",users.get(i).username);
tmp.put("FirstName",users.get(i).first_name);
tmp.put("LastName",users.get(i).last_name);
arr.add(tmp);
}
webView.loadUrl("javascript:fetchFriends("+arr.toString()+")");
} catch(JSONException e){
//error handling
}
}
JavaScript:
function fetchFriends(usersObjectFromJava){
var users = usersObjectFromJava;
}
You will have to change the Java-Code a bit (i.e. using public getters or add more/less information to the `JSONObjects`. `JSON` is included in Android by default, so no external libraries are necessary.
I hope i understood your problem.
Small thing i came across: you where using `fetchFriends` in Java but its called `parseFriends` in Javascript, I renamed them to `fetchFriends`
Problem
I have the following java code in my Android application and wanted a way to convert the Java list to an array that can be used in javascript: Java: ``` public void onCompleted(List<GraphUser> users, Response response) { for(int i = 0; i < users.size(); i++) { //add to an array object that can be used in Javascript webView.loadUrl("javascript:fetchFriends(arrObj)"); } } ``` Javascript: ``` //this is how I want to be able to use the object in Javascript function parseFriends(usersObjectFromJava){ var users = []; for (var i = 0; i < usersObjectFromJava.length; i++) { var u = { Id: usersObjectFromJava[i].id + "", UserName: usersObjectFromJava[i].username, FirstName: usersObjectFromJava[i].first_name, LastName: usersObjectFromJava[i].last_name, }; users[i] = u; } } ``` Could some help me with the Java code to create the usersObjectFromJava so that it can be used in javascript?