8000 Switch to Jackson to correct JSON issue. (#1013) · microsoft/botbuilder-java@35608c1 · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Dec 4, 2023. It is now read-only.

Commit 35608c1

Browse files
authored
Switch to Jackson to correct JSON issue. (#1013)
1 parent f441624 commit 35608c1

File tree

2 files changed

+21
-23
lines changed

2 files changed

+21
-23
lines changed

samples/50.teams-messaging-extensions-search/pom.xml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,7 @@
7272
<artifactId>log4j-api</artifactId>
7373
<version>2.11.0</version>
7474
</dependency>
75-
<dependency>
76-
<groupId>org.json</groupId>
77-
<artifactId>json</artifactId>
78-
<version>20201115</version>
79-
</dependency>
80-
<dependency>
75+
<dependency>
8176
<groupId>org.apache.logging.log4j</groupId>
8277
<artifactId>log4j-core</artifactId>
8378
<version>2.11.0</version>

samples/50.teams-messaging-extensions-search/src/main/java/com/microsoft/bot/sample/teamssearch/TeamsMessagingExtensionsSearchBot.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
package com.microsoft.bot.sample.teamssearch;
55

6+
import com.fasterxml.jackson.databind.JsonNode;
7+
import com.fasterxml.jackson.databind.node.ArrayNode;
8+
import com.fasterxml.jackson.databind.node.ObjectNode;
69
import com.microsoft.bot.builder.TurnContext;
710
import com.microsoft.bot.builder.teams.TeamsActivityHandler;
811
import com.microsoft.bot.schema.*;
@@ -12,8 +15,6 @@
1215
import okhttp3.Request;
1316
import okhttp3.Response;
1417
import org.apache.commons.lang3.StringUtils;
15-
import org.json.JSONArray;
16-
import org.json.JSONObject;
1718
import org.slf4j.LoggerFactory;
1819

1920
import java.io.IOException;
@@ -44,11 +45,14 @@ protected CompletableFuture<MessagingExtensionResponse> onTeamsMessagingExtensio
4445
.thenApply(packages -> {
4546
List<MessagingExtensionAttachment> attachments = new ArrayList<>();
4647
for (String[] item : packages) {
48+
ObjectNode data = Serialization.createObjectNode();
49+
data.set("data", Serialization.objectToTree(item));
50+
4751
ThumbnailCard previewCard = new ThumbnailCard() {{
4852
setTitle(item[0]);
4953
setTap(new CardAction() {{
5054
setType(ActionTypes.INVOKE);
51-
setValue(new JSONObject().put("data", item).toString());
55+
setValue(Serialization.toStringSilent(data));
5256
}});
5357
}};
5458

@@ -129,23 +133,22 @@ private CompletableFuture<List<String[]>> findPackages(String text) {
129133
))
130134
.build();
131135

132-
List<String[]> filteredItems = new ArrayList<String[]>();
136+
List<String[]> filteredItems = new ArrayList<>();
133137
try {
134138
Response response = client.newCall(request).execute();
135-
JSONObject obj = new JSONObject(response.body().string());
136-
JSONArray dataArray = (JSONArray) obj.get("data");
137-
138-
dataArray.forEach(i -> {
139-
JSONObject item = (JSONObject) i;
140-
filteredItems.add(new String[]{
141-
item.getString("id"),
142-
item.getString("version"),
143-
item.getString("description"),
144-
item.has("projectUrl") ? item.getString("projectUrl") : "",
145-
item.has("iconUrl") ? item.getString("iconUrl") : ""
139+
JsonNode obj = Serialization.jsonToTree(response.body().string());
140+
ArrayNode dataArray = (ArrayNode) obj.get("data");
141+
142+
for (int i = 0; i < dataArray.size(); i++) {
143+
JsonNode item = dataArray.get(i);
144+
filteredItems.add(new String[] {
145+
item.get("id").asText(),
146+
item.get("version").asText(),
147+
item.get("description").asText(),
148+
item.has("projectUrl") ? item.get("projectUrl").asText() : "",
149+
item.has("iconUrl") ? item.get("iconUrl").asText() : ""
146150
});
147-
});
148-
151+
}
149152
} catch (IOException e) {
150153
LoggerFactory.getLogger(TeamsMessagingExtensionsSearchBot.class)
151154
.error("findPackages", e);

0 commit comments

Comments
 (0)
0