如何使用 BaseX 将任意 JSON 转换为 XML?
Posted
技术标签:
【中文标题】如何使用 BaseX 将任意 JSON 转换为 XML?【英文标题】:how to convert arbitrary JSON to XML using BaseX? 【发布时间】:2020-05-17 18:50:23 【问题描述】:任意JSON
如何使用BaseX
转换to任意XML
?
我正在从BaseX
中查看JsonParser
以获得此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;
来自Twitter4J
的JSONObject
不能直接卡在XML
中吗?
有许多 online converters 声称可以实现这一点,而且,至少乍一看,这似乎足够了。
另见:
Converting JSON to XML in Java
Java implementation of JSON to XML conversion
【问题讨论】:
【参考方案1】:然后使用来自 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了解更多信息
【讨论】:
谢谢,我正在查看:github.com/BaseXdb/basex/blob/master/basex-core/src/main/java/… 仅使用该库。以上是关于如何使用 BaseX 将任意 JSON 转换为 XML?的主要内容,如果未能解决你的问题,请参考以下文章