JSONArray名称值对修改

时间:2015-11-05 16:29:54

标签: java arrays json

我有一个遵循某种模式的字符串,我想将子字符串写入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

1 个答案:

答案 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);