【问题标题】:pass a javascript array to java array using json使用 json 将 javascript 数组传递给 java 数组
【发布时间】:2014-04-30 16:00:15
【问题描述】:

我正在尝试使用 JSON 将 javascript 项目数组传递给 java 服务器。 我的服务器收到以下字符串:

[
    {"attr1":"SomeValue1","attr2":"SomeValue2"},
    {"attr1":"SomeValue3","attr2":"SomeValue4"}
]

我正在尝试使用JsonArray,但可能做错了(我没有在此处添加我的代码,因为它可能只是愚蠢的)。

谁能给我正确的方法来创建对我的字符串中的值进行迭代?

编辑: 根据要求,我的愚蠢代码:

    jsnobject = new JSONObject(items);  //items is the string described above
    JSONArray jsonArray = jsnobject.getJSONArray("");
    if(jsonArray != null){
        for(int i=0 ; i<jsonArray.length();i++){
            JSONObject explrObject = jsonArray.getJSONObject(i);
            System.out.println("name = "+explrObject.get("fileName"));
        }
    }

【问题讨论】:

  • 我没有在这里添加我的代码,因为它可能只是愚蠢的我们从制作愚蠢的东西中学习并将它们转换成awesome 。发布您的代码,我们将在此过程中为您提供帮助。
  • 必须在此处发布您的代码,无论您认为它看起来多么愚蠢,否则您的问题可能会被关闭。
  • 你使用什么 JSON 库?当然JSONObjectJSONArray 类必须来自某个地方。
  • @T-Bull json.org

标签: java javascript arrays json


【解决方案1】:

我从来没有用过 JsonArray(以前我用过 gson 在 json 和 Java 之间切换),但是看看 documentation

看起来您可以通过将正确的 json 字符串传入构造函数来创建 JsonArray。然后你应该能够像一个典型的数组一样遍历它。

JsonArray myArray = new JsonArray(jsonString);
int length = myArray.length();
for(int i=0; i<length; i++){
     myArray.get(i) 
//note this returns an object of type object, 
//use other get functions to get other types

}

【讨论】:

  • 试过了,收到 JSON 字符串必须以 '{' 开头的错误
  • 这就是答案,不知道为什么它第一次不起作用 - 谢谢
  • @user1432310 遇到问题时请务必使用 JSON 验证工具。如果没有合适的工具,Javascript/JSON 会很痛苦。
【解决方案2】:
 JSON.stringify(array)

如果没有您的代码,很难看到您想要什么,但这就是您将 js 数组转换为 JSON obj 的方式

【讨论】:

  • 问题似乎出在 Java 方面,而不是在 JavaScript 方面。
【解决方案3】:

你可以使用J SON Serialize方法你可以传递json字符串...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    相关资源
    最近更新 更多