当前位置: 首页 > 知识库问答 >
问题:

Android:将NameValuePair数据放入JSONObject

袁永贞
2023-03-14

我试图将NameValuePairdata放到JSONObject中。NameValuePairdata的名称为String,值为JSONArray。现在,当我试图将这个NameValuePairdata放入JSONObject中时,JSONObject将JSONArray值转换为字符串。

请查看下面的代码以了解更多细节:

构造NameValuePair:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);

    nameValuePairs.add(new BasicNameValuePair("id", "1"));      

    JSONArray arr = new JSONArray();
    if(arrBean != null && arrBean.size() > 0) {
        for (Bean bean : arrBean) {
            JSONObject idsJsonObject = new JSONObject();
            try {
                idsJsonObject.put("min", bean.getMin());
                idsJsonObject.put("m1", bean.getMin());
                idsJsonObject.put("sec", bean.getSec());
            } catch (JSONException e) {
                e.printStackTrace();
            }
            arr.put(idsJsonObject);
        }
    }
    nameValuePairs.add(new BasicNameValuePair("records", arr.toString()));

构造要发送到HttpPost的JSONObject:

JSONObject JSONObjectData = new JSONObject();

    for (NameValuePair nameValuePair : nameValuePairs) {
        try {
            JSONObjectData.put(nameValuePair.getName(), nameValuePair.getValue());
        } catch (JSONException e) {

        }
    }
{"id":"1","records":"[{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"},{\"min\":\"610\",\"m1\":\"10\",\"sec\":\"\"}]"}

共有1个答案

徐奇
2023-03-14

nameValuePair.getName()nameValuePair.getValue()都返回字符串,因此它们作为字符串添加到json中。您应该在JSONObjectData.put()中传递JSONArray对象作为第二个参数。

由于BasicNameValuepair只接受字符串值,请尝试使用HashMap 或从其字符串表示形式重新创建JSONArray

 类似资料:
  • 问题内容: 我有一个看起来像这样: 两列都是String类型(StringType()),我想将其放入spark ml randomForest中。为此,我需要将要素列转换为包含浮点数的向量。有谁知道怎么做吗? 问题答案: 如果您使用的是 Spark 2.x ,我相信这就是您所需要的: 使用 Spark 1.6 并没有太大不同: 具有可以帮助您实现所要完成的功能的功能。

  • 本文向大家介绍Android 将数据插入数据库,包括了Android 将数据插入数据库的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我是java新手,我想知道如何读取。txt文件,然后将每一行都放入数组单元格中。.txt文件的格式必须如下所示: 我已经尝试创建一个以这种方式实现的ReadFile类:

  • 问题内容: 我无法用自己的数据填充JavaFX TableView对象。我试图修改此处找到的代码以适合我的程序的需求。我添加了该教程中使用的表,它可以正确显示。我复制了该代码以创建第二个表,但是无法使我的数据显示在第二个表中。 我相信我已经正确修改了代码以接受来自SNMPInterface类的数据。我尝试用静态数据填充表,然后再使用从文件读取的数据填充表。尽管这两个过程都将创建具有适当标题的列,但

  • 我有一个带有MongoDB的Nodejs应用程序。现在我想使用Elasticsearch将数据从mongo复制到Elasticsearch。我正在使用npm软件包“ElasticSearch”。例如,对于收藏“帖子”,我有这样的: 正如您所看到的,我的数据是非结构化的,并且Elasticsearch在我添加这些项时显示了错误。我想要一个把戏关闭弹性搜索限制,允许我添加这些数据。我不能改变我的数据它

  • 问题内容: 我必须通过Volley Framework提出要求。这是带有JSONObject的POST请求。 我必须传递一个字符串和一个JSONArray ..但是我怎么能呢? 我从这个开始: 如果我尝试使用浏览器,则必须进行以下设置: 问题答案: 您需要先制作一个JSON数组,然后将其存储