gpt4 book ai didi

java - 为什么 json_data.getString 不编码 json 字符串?或者它错了?

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

我有以下错误。我知道我必须对字符串的结果进行编码

07-08 21:26:51.348: E/2(22265): <!-- End Of Analytics Code -->
07-08 21:26:51.353: E/Fail 3(22265): org.json.JSONException: Value 1 of type java.lang.String cannot be converted to JSONObject

虽然下面会转换它。但仍然面临错误。

 JSONObject json_data = new JSONObject(result);
JSONArray menuObject = new JSONArray(json_data.getString("code"));

这是我的代码

    try
{
BufferedReader reader = new BufferedReader
(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
Log.e("pass 2", "connection success ");
System.out.println(result);
Log.e(" 2",result );
}
catch(Exception e)
{
Log.e("Fail 2", e.toString());
}

try
{


JSONObject json_data = new JSONObject(result);
JSONArray menuObject = new JSONArray(json_data.getString("code"));
System.out.println("length="+menuObject.length());


}
catch(Exception e)
{
Log.e("Fail 3", e.toString());
}

这是php代码

<?php
$host='mysql12.000webhost.com';
$uname='a6901827_moudiz';
$pwd='*****';
$db="a6901827_justed";


$con = mysql_connect($host,$uname,$pwd) or die("connection failed");
mysql_select_db($db,$con) or die("db selection failed");

$id=$_REQUEST['id'];
$name=$_REQUEST['name'];


mysql_query('insert into samle values($id,$name)',$con);

print(json_encode("1"));


mysql_close($con);
?>

我需要在数据库中插入数据并返回值。

最佳答案

您正在返回 JSON 字符串“1”,但试图将其解析为 JSONObject。
JSONObject 需要一个以 { 开头并以 } 结尾的实际 JSON 对象。字符串是 JSON 值而不是 JSONObject。这就是 String“1”不能转换为 JSONObject 的原因。

您可以将返回值包装到一个 PHP 数组中:

array("value" => "1")

当您将其编码为 JSON 时,它将如下所示:

{"value":"1"}

然后在 Java 客户端上,将其解析为 JSONObject 并获取名为“value”的字符串属性。

或者您可以在 Java 端以不同的方式解析它。 (不使用 JSONObject)。

关于java - 为什么 json_data.getString 不编码 json 字符串?或者它错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31301132/

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