java - 如何使用 BaseX 将任意 JSON 转换为 XML?

标签 java json xml converters basex

任意JSON如何转换to使用 BaseX 任意 XML

我正在查看来自 BaseXJsonParser specific解决方案。

在这种情况下,我 have使用 Twitter4J 发布推文:

package twitterBaseX;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.logging.Logger;
import main.LoadProps;
import org.basex.core.BaseXException;
import twitter4j.JSONException;
import twitter4j.JSONObject;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.TwitterObjectFactory;
import twitter4j.conf.ConfigurationBuilder;

public class TwitterOps {

    private static final Logger log = Logger.getLogger(TwitterOps.class.getName());

    public TwitterOps() {
    }

    private TwitterFactory configTwitterFactory() throws IOException {
        LoadProps loadTwitterProps = new LoadProps("twitter");
        Properties properties = loadTwitterProps.loadProperties();
        log.fine(properties.toString());
        ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

        configurationBuilder.setDebugEnabled(true)
                .setJSONStoreEnabled(true)
                .setOAuthConsumerKey(properties.getProperty("oAuthConsumerKey"))
                .setOAuthConsumerSecret(properties.getProperty("oAuthConsumerSecret"))
                .setOAuthAccessToken(properties.getProperty("oAuthAccessToken"))
                .setOAuthAccessTokenSecret(properties.getProperty("oAuthAccessTokenSecret"));

        return new TwitterFactory(configurationBuilder.build());
    }

    public List<JSONObject> getTweets() throws TwitterException, IOException, JSONException {
        Twitter twitter = configTwitterFactory().getInstance();

        Query query = new Query("lizardbill");
        QueryResult result = twitter.search(query);
        String string = null;
        JSONObject tweet = null;
        List<JSONObject> tweets = new ArrayList<>();

        for (Status status : result.getTweets()) {
            tweet = jsonOps(status);
            tweets.add(tweet);
        }
        return tweets;
    }

    private JSONObject jsonOps(Status status) throws JSONException, BaseXException {
        String string = TwitterObjectFactory.getRawJSON(status);
        JSONObject json = new JSONObject(string);
        String language = json.getString("lang");
        log.fine(language);
        return json;
    }

}

来自 Twitter4JJSONObject 不能直接塞进 XML 中吗?

有多个 online converters其目的是实现这一目标,并且至少乍一看似乎足够了。

另请参阅:

Converting JSON to XML in Java

Java implementation of JSON to XML conversion

最佳答案

然后使用来自 json.org 的(优秀的)JSON-Java 库

JSONObject json = new JSONObject(str);
String xml = XML.toString(json);

toString 可以采用第二个参数来提供 XML 根节点的名称。

该库还能够使用 XML.toJSONObject(java.lang.String string) 将 XML 转换为 JSON

检查Javadoc了解更多信息

关于java - 如何使用 BaseX 将任意 JSON 转换为 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60015101/

相关文章:

java - 如何使用AsyncTask从JSON获取数据并将其放入RecyclerView中?

Java拦截HTTP请求

java - 如何关闭另一个类的 Intent Activity

json - 同意矩阵(2D)如何存储为 JSON?

python - Python 文字有名称吗? JavaScript 文字如何称为 JSON?

java - 帮助解析 RSS 提要。所有元素返回 null

java - Spring Restcontroller 不返回 xml

python - 根据其属性查找 xml 元素并更改其值

Java - 在客户端识别来自服务器的发送到一个和发送到所有的消息

java - 为什么将 "/"附加到 base-href 就不需要部署 url?