首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将JSON值内插到字符串中

将JSON值内插到字符串中
EN

Stack Overflow用户
提问于 2019-06-13 05:26:39
回答 3查看 1.2K关注 0票数 1

我正在编写一个应用程序/类,它将接受一个模板文本文件和一个JSON值,并将插入的文本返回给调用者。

需要确定输入模板文本文件的格式。例如:my name is ${fullName}

JSON示例:

代码语言:javascript
复制
{"fullName": "Elon Musk"}

预期输出:

代码语言:javascript
复制
"my name is Elon Musk"

我正在寻找一个广泛使用的库/格式来实现这一点。

  1. 模板文本文件应该是什么格式?
  2. 哪个库将支持上面定义的模板文本文件格式并接受JSON值?

构建自己的解析器很容易,但有许多边缘情况需要处理,我不想重复发明轮子。

例如,如果我们有一个稍微复杂的带有列表、嵌套值等的JSON对象,那么我将不得不考虑这些并实现它。

EN

回答 3

Stack Overflow用户

发布于 2019-06-13 06:01:39

我一直使用org.json库。在http://www.json.org/找到。

它使得浏览JSON对象变得非常容易。

例如,如果您想创建一个新对象:

代码语言:javascript
复制
JSONObject person = new JSONObject();
person.put("fullName", "Elon Musk");
person.put("phoneNumber", 3811111111);

JSON对象将如下所示:

代码语言:javascript
复制
{
"fullName": "Elon Musk",
"phoneNumber": 3811111111
}

它类似于从对象中检索

代码语言:javascript
复制
String name = person.getString("fullName");

您可以使用BufferedReader读出文件,并根据需要对其进行解析。希望我能帮上忙。:)

票数 1
EN

Stack Overflow用户

发布于 2019-06-13 05:42:21

这就是我们怎么做的。

代码语言:javascript
复制
Map inputMap = ["fullName": "Elon Musk"]
        String finalText = StrSubstitutor.replace("my name is \${fullName}", inputMap)
票数 0
EN

Stack Overflow用户

发布于 2019-06-13 13:37:07

你可以试试这个:https://github.com/alibaba/fastjson

Fastjson是一个Java库,可用于将Java对象转换为其JSON表示。它还可用于将JSON字符串转换为等效的Java对象。Fastjson可以处理任意的Java对象,包括您没有源代码的预先存在的对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56570582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档