gpt4 book ai didi

java - 将 JSON 数据从 txt 文件发布到 URL

转载 作者:行者123 更新时间:2023-11-30 08:03:05 25 4
gpt4 key购买 nike

我需要将 JSON 数据从文本文件发布到 url。我还没有遇到过这样的场景。

我遇到过使用 HttpUrlConnection 发布 JSON 数据的情况。

My JSON DATA :
{
"request": {
"header": {
"signature": "BHNUMS",
"details": {
"productCategoryCode": "01",
"specVersion": "04"
}
},
"transaction": {
"primaryAccountNumber": "8961060000402122658",
"processingCode": "725400",
"transactionAmount": "000000000200",
"transmissionDateTime": "150505141718",
"systemTraceAuditNumber": "035689",
"localTransactionTime": "141718",
"localTransactionDate": "150505",
"merchantCategoryCode": "0443",
"pointOfServiceEntryMode": "021",
"pointOfServiceConditionCode":"00",
"transactionFeeAmount":"000000000200",
"acquiringInstitutionIdentifier": "10998156762",
"track2Data":";8961060000402122658=4912?",
"retrievalReferenceNumber": "44436440441",
"merchantTerminalId": "87654 987 ",
"merchantIdentifier": "10998156762",
"merchantLocation": "688 PACIFIC HIGHWAYYY CHHHHATSWOOD NSWAU",
"transactionCurrencyCode": "840",
"additionalTxnFields":
{ "productId": "07675018955" ,
"externalAccountNumber":"353142040651369",
}
}
}
}

网址:

http://10.18.141.12:30305/transaction/v/transactionw

My Code :

public static void main(String[] args) throws IOException {
try {

URL url = new URL("http://10.38.141.32:30304/transaction/v2/transaction");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/json");

String input = "";

OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();

if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}

BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));

String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}

conn.disconnect();

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

String input= "";//我需要在此处传递 JSON 数据,但不确定如何传递它。

从文件中读取并将其设置为字符串我将能够做到。但出于试用目的,我必须将字符串输入分配给上面提到的 JSON 数据,但由于 qoutes 和大括号,我无法将其格式化为字符串。

在线资源解释了要以此格式格式化的数据 (String input="{\"qty\":100,\"name\":\"iPad 4\"}"; )

但我不知道如何手动格式化这么大的 json 数据。

我不确定这是否正确,但我看不到预期的输出。由于我对这个概念完全陌生,因此我无法调整代码。

如果有人能帮助我,那将是很大的帮助。

最佳答案

如果文件中有有效的 JSON 文本,则不必自己解析它。但是,如果您需要检查 JSON 是否有效,请尝试编写一个解析器并从万维网中选择一个解析器。第一步是打开文件并读取其内容,如下所示:

final StringBuilder sb = new StringBuilder();
final BufferedReader br = new BufferedReader(new FileReader("your_file_name.txt"));

String line;
while ((line = br.readLine()) != null)
sb.append(line); // Add to string builder

final String input = br.toString(); // Write this string to the connection body
// To minimalize characters transfer it to a JSON and then some JSONWriter which doesn't format so you don't have any spacelike characters in the string

其余的你自己想出来了;)

关于java - 将 JSON 数据从 txt 文件发布到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31590614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com