【问题标题】:How to get this data in json fromat?如何以 json 格式获取此数据?
【发布时间】:2019-11-21 12:20:42
【问题描述】:

我在PayUMoney 中获得了这些数据并显示给用户但是问题如何以json 或键值对格式获取这些数据,任何人都知道,请帮助!!

addedon=2019-11-21+17%3A06%3A42&productinfo=FINE&firstname=Creataum+Test+User&

【问题讨论】:

    标签: android


    【解决方案1】:

    假设你已经把它作为字符串,下面的代码将从字符串中打印出键值对

    String x ="addedon=2019-11-21+17%3A06%3A42&productinfo=FINE&firstname=Creataum+Test+User&";
        String pair[] = x.split("&");
        Log.e("pairs", Arrays.asList(pair).toString());
        for (int i=0;i<pair.length;i++){
            String key[] = pair[i].split("=");
            Log.e("pair:","key= "+ key[0]+" value= "+key[1]);
        }
    

    【讨论】:

      【解决方案2】:

      似乎该字符串既是 URL 编码(%3A)又是 JSON 编码(&amp;amp;)。

      您必须对字符串进行解码,然后通过'&amp;' 拆分,然后通过'=' 将每对拆分为键和值。

      您可以在此处查看如何进行 JSON 解码:Decoding JSON String in Java

      可以使用 Java 的 URLDecoder 类来完成 URL 解码:https://docs.oracle.com/javase/7/docs/api/java/net/URLDecoder.html

      对于这个例子,我假设唯一的编码字符是%3A 和&amp;amp;。

      String payumoney = "addedon=2019-11-21+17%3A06%3A42&amp;productinfo=FINE&amp;firstname=Creataum+Test+User&amp;";
      
      // String decoding.
      payumoney = payumoney.replaceAll("%3A", "-");
      payumoney = payumoney.replaceAll("&amp;", "&");
      
      HashMap<String, String> params = new HashMap<String, String>();
      String[] pairs = payumoney.split("&");
      for (String pair : pairs) {
          String[] keyValue = pair.split("=");
          params.put(keyValue[0], keyValue[1]);
      }
      

      【讨论】:

        【解决方案3】:

        这看起来像是一个混合了 URL 编码(如 %3A 用于 :)和 HTML 字符(如 &amp;amp; 用于 &amp;)的字符串。

        我相信您可以尝试对其进行解码,然后像 &amp; 那样拆分数据以获取每个键的数据,然后进一步按 = 拆分以获取该键的值。

        对于 URL 解码你可以试试

        String decoded = java.net.URLDecoder.decode(url, "UTF-8");
        

        【讨论】:

          【解决方案4】:

          您可以简单地使用 String replaceAll() 函数来创建 json。

          str= str.replaceAll("=", "\"");
          str= str.replaceAll("&amp;", "\",\"");
          str= "{\""+ str+ "\"}";
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-07-03
            • 1970-01-01
            • 2016-12-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多