Hi,
I'm trying to pass a JSON structure from my Java code to JavaScript,
in a WebView. The HTML file uses the json2.js parser:

<html>
<head>
<title>JSON Test</title>
<script type="text/javascript" src="./json2.js"/>
<script type="text/javascript">
function loader() {
    var jsonData = window.webConnector.load();
    document.getElementById('original').innerHTML = jsonData;

    var a = JSON.parse(jsonData);
    document.getElementById('jsonOutput').innerHTML = a;
}
</script>
</head>
<body onload="loader()">
<div id="test">Test</div>

Original:
<div id="original">Original could not be loaded</div>

JSON Output:
<div id="jsonOutput">JSON Could not be Parsed</div>
</body>
</html>

The Java:

public class JsonActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final WebView webView = (WebView) findViewById(R.id.webView);

        webView.getSettings().setJavaScriptEnabled(true);
        webView.addJavascriptInterface(this, "webConnector");
        webView.loadUrl("file:///android_asset/json.html");
    }

    public String load() {
        return "{\"frm\":[[\"name\",\"Miguel\"],[\"age\",\"34\"],[\"rating
\",\"low\"],[\"comments\",\"hungry\"]]}";
    }
}


The WebView output is: the JSON text is loaded, but the parsed version
is not.

In LogCat:
02-25 12:20:17.508: DEBUG/WebCore(811): Console: JSON.parse line: 475
source: file:///android_asset/json2.js

which is because of a thrown exception.

If the JSON text is inlined into the HTML, then it works fine.

Creating the JSON in the HTML, passing it to Java and parsing it using
JSONObject, is fine.

Is there a security restriction here? Thanks.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to