我有一个遵循某种模式的字符串,我想将子字符串写入JSON数组对象。
我使用正则表达式在数组中包含每个子字符串。
现在我想使用jsonarray对象在json文件中编写所有这些子字符串。
我已经能够做得很好,但json viewer中的名称值对显示
0 abcde
1 pqrs
我想将这些名称(即0和1)修改为特定字符串。怎么做?
以下是我的代码。
String introduction="<p>abcde</p><p>pqrs</p><p>xyz</p>";
JSONArray intro_paragraphs = new JSONArray();
Matcher m = Pattern.compile(Pattern.quote("<p>")+ "(.*?)"+ Pattern.quote("</p>")).matcher(introduction);
while(m.find())
{
String match_intro = m.group(1);
intro_paragraphs.put(match_intro);
obj.put("Section_Detailed_Introduction", intro_paragraphs);
}
输出是:::
[]Section_Detailed_Introduction
0 abcde
1 pqrs
2 xys
我想要:::
para_1 abcde
para_2 pqrs
para_3 xyz
答案 0 :(得分:2)
对可以实现此目的的代码进行一些小修改
String introduction="<p>abcde</p><p>pqrs</p><p>xyz</p>";
JSONObject intro_paragraphs = new JSONObject();
JSONObject obj=new JSONObject();
Matcher m = Pattern.compile(Pattern.quote("<p>")+ "(.*?)"+ Pattern.quote("</p>")).matcher(introduction);
int i=1;
String key="para_";
while(m.find())
{
String match_intro = m.group(1);
intro_paragraphs.put(key+i, match_intro);
i++;
}
obj.put("Section_Detailed_Introduction", intro_paragraphs);