如何从字符串列表中获取jsonarray

时间:2018-09-18 02:34:22

标签: java arrays json list

我最近遇到了编码方面的挑战,并且真正被困在如何从字符串列表中获取值来成为JSONArray。

比方说,给定一个课程列表,您希望将学生的姓名存储在JSONArray中。

一年级
汤姆

埃德
水晶

二年级
菲比
辛迪
吉尔
马特

三年级
水晶

哈里
狮子座

// To access all the lists in the collection
List<String> classes = new ArrayList<String>(jsonInput.keySet());

之后,我是否遍历类以获取名称并将其放入JSONArray?

2 个答案:

答案 0 :(得分:1)

在代码下面添加依赖项

using (var context = new TrialsDBEntities())
{
   var tagsToBeUpdated =  context.tblTags.Where(x => (tagIdCollection.Contains(x.tagId))).AsNoTracking().ToList();

   //Only use this code block if your tagsToBeUpdated list is too large
   Parallel.ForEach(tagsToBeUpdated, tagToBeUpdated =>
   {
      var tagDescription = GetTagDescription(tagToBeUpdated.tagId);
      tagToBeUpdated.tagDescription = tagDescription;
      context.Entry(tagToBeUpdated).State = EntityState.Modified;
   });

   //Only use this code block if your tagsToBeUpdated list is not too large
   foreach(var tagToBeUpdated in tagsToBeUpdated)
   {
      var tagDescription = GetTagDescription(tagToBeUpdated.tagId);
      tagToBeUpdated.tagDescription = tagDescription;
      context.Entry(tagToBeUpdated).State = EntityState.Modified;
   }

   context.SaveChanges();         
}

public static string GetTagDescription(int i)
{
     return "test" + i;

     ///Replace above line with call to database or web service call 
     //getting some text by giving i as input
}

并在地图中添加列表,然后将其转换为JSON字符串。

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.8.5</version>
</dependency>

答案 1 :(得分:0)

如果您要从ArrayList<String>转到JSONArray,则可以使用 GSON

ArrayList<String> listOfStudentNames = new ArrayList<String>;
listOfStudentNames.add("Tom");
listOfStudentNames.add("Cat");
listOfStudentNames.add("Ed");
...
Gson gson = new Gson();
String data = gson.toJson(listOfStudentNames);
JsonArray jsonArray = new JsonParser().parse(data).getAsJsonArray();