【问题标题】:android - parse an xml formatted string into a json arrayandroid - 将 xml 格式的字符串解析为 json 数组
【发布时间】:2014-02-11 05:46:15
【问题描述】:

假设我从一个看起来像这样的 web 方法得到一个 xml 响应:

<Response xmlns="http://you.wish.you.knew.com/">
<Result>
[
&#xD;
"IMG_20140210_212703.jpg",
&#xD;
"IMG_20140210_170020.jpg"
&#xD;
]
</Result>
</Response>

我从一个 wcf 网络服务中得到这个,我真的不能乱搞,因为它会坏掉。如何将其作为字符串并从中提取数据,以便将其转换为 json 数组或可以转换为 jsonarray 的东西。

【问题讨论】:

    标签: android xml json wcf


    【解决方案1】:

    步骤:

    1:下载java-json.jar

    2 : 将此添加到项目的 /libs 文件夹,然后添加到构建路径。

    用法:

    import org.json.JSONException;
    import org.json.JSONObject;
    import org.json.XML;
    
    String testXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<parentNode>"    
    +"<test1>1234</test1>"                          
    + "<test2>" + "Test" + "</test2>" 
    + "<test3>" + 120 + "</test3>" 
    + "</parentNode>"; 
    
    JSONObject jsonObj = null;
    try {
      jsonObj = XML.toJSONObject(testXml);
    } catch (JSONException e) {
      Log.e("JSON exception", e.getMessage());
      e.printStackTrace();
    } 
    
    Log.d("JSON", jsonObj.toString());
    

    输出:

    JSON:

    {"parentNode":{"test1":1234,"test2":"Test","test3":120}}

    【讨论】:

    • 我试过这个,但它在 json 中留下了垃圾符号。它的 xml 标记符号,如 。如何正确格式化字符串,使其中没有所有时髦的字符。
    【解决方案2】:

    所以我不想做一个快速而肮脏的修复,因为我想实现一些库,它可以做出一个可靠的可靠修复,但我最终所做的只是将“ ”字符替换为'\n' 在我的字符串中,然后我可以将其转换为 jsonarray。最后我的解决方案看起来很简单:

    JSONObject json = XML.toJSONObject(response);
    
    temp = json.optJSONObject("UploadFileResponse")
    .optString("UploadFileResult").toString().replace("&#xd;", "");
    
    return temp;
    

    我确实最终将库留在了我的项目中,Gopal 提到了我从网上某处获得的 java-json.jar。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多