我最近遇到了编码方面的挑战,并且真正被困在如何从字符串列表中获取值来成为JSONArray。
比方说,给定一个课程列表,您希望将学生的姓名存储在JSONArray中。
一年级
汤姆
猫
埃德
水晶
二年级
菲比
辛迪
吉尔
马特
三年级
水晶
本
哈里
狮子座
// To access all the lists in the collection
List<String> classes = new ArrayList<String>(jsonInput.keySet());
之后,我是否遍历类以获取名称并将其放入JSONArray?
答案 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();