PHP-将JAVA/JS对象转换为PHP数组
我正在通过android中的JAVA从Facebook请求一些数据,并将其发送到服务器:PHP-将JAVA/JS对象转换为PHP数组,java,php,android,Java,Php,Android,我正在通过android中的JAVA从Facebook请求一些数据,并将其发送到服务器: Address[addressLines=[0:"Königspl., 86150 Augsburg, Germany"],feature=Königsplatz,admin=Bayern,sub-admin=Schwaben,locality=Augsburg,thoroughfare=Königsplatz,postalCode=86150,countryCode=DE,countryName=Germ
Address[addressLines=[0:"Königspl., 86150 Augsburg, Germany"],feature=Königsplatz,admin=Bayern,sub-admin=Schwaben,locality=Augsburg,thoroughfare=Königsplatz,postalCode=86150,countryCode=DE,countryName=Germany,hasLatitude=true,latitude=48.366384499999995,hasLongitude=true,longitude=10.8943626,phone=null,url=null,extras=null]
我不知道这到底是什么,JAVA对象还是我不知道
我已经试过了:$array=json\u decode($data,true)
并返回NULL
它是什么?如何将其转换为PHP数组
编辑:
这是我用来生成数据的JAVA(实际上是kotlin)代码:
val geocoder = Geocoder(this, Locale.ENGLISH)
try {
val addresses = geocoder.getFromLocation(48.366512, 10.894446, 1)
if (addresses != null)
{
val returnedAddress = addresses[0]
val strReturnedAddress = StringBuilder("Address:\n")
for (i in 0 until returnedAddress.maxAddressLineIndex) {
strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n")
}
geocoderStuff = returnedAddress.toString()
} else
{
// NO ADDRESS
}
} catch (e: IOException) {
e.printStackTrace()
}
val returnedAddress = addresses[0]
val strReturnedAddress = StringBuilder("Address:\n")
for (i in 0 until returnedAddress.maxAddressLineIndex) {
strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n")
}
val gson = Gson() // HERE
val json = gson.toJson(returnedAddress) // HERE
geocoderStuff = json
我是这样发送的:
val params = RequestParams()
params.put("geocoder", geocoderStuff)
letsDoSomeNetworking(params)
private fun letsDoSomeNetworking(params: RequestParams) {
// AsyncHttpClient belongs to the loopj dependency.
val client = AsyncHttpClient()
client.get("http://www.bla.com/android/fb_access.php", params, object : JsonHttpResponseHandler()
{
override fun onSuccess(statusCode: Int, headers: Array<Header>?, response: JSONObject?)
{
// success
}
override fun onFailure(statusCode: Int, headers: Array<Header>?, e: Throwable, response: JSONObject?)
{
// error
}
})
}
val params=RequestParams()
参数put(“地理编码器”,地理编码器TUFF)
letsDoSomeNetworking(参数)
私人娱乐letsDoSomeNetworking(参数:RequestParams){
//AsyncHttpClient属于loopj依赖项。
val client=AsyncHttpClient()
client.get(“http://www.bla.com/android/fb_access.php,参数,对象:JsonHttpResponseHandler()
{
覆盖成功时的乐趣(状态代码:Int,标题:Array?,响应:JSONObject?)
{
//成功
}
覆盖失败(状态代码:Int,头:Array?,e:Throwable,响应:JSONObject?)
{
//错误
}
})
}
解决方案是在获取数据后使用JAVA/Kotlin端的gson库:
val geocoder = Geocoder(this, Locale.ENGLISH)
try {
val addresses = geocoder.getFromLocation(48.366512, 10.894446, 1)
if (addresses != null)
{
val returnedAddress = addresses[0]
val strReturnedAddress = StringBuilder("Address:\n")
for (i in 0 until returnedAddress.maxAddressLineIndex) {
strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n")
}
geocoderStuff = returnedAddress.toString()
} else
{
// NO ADDRESS
}
} catch (e: IOException) {
e.printStackTrace()
}
val returnedAddress = addresses[0]
val strReturnedAddress = StringBuilder("Address:\n")
for (i in 0 until returnedAddress.maxAddressLineIndex) {
strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n")
}
val gson = Gson() // HERE
val json = gson.toJson(returnedAddress) // HERE
geocoderStuff = json
你想用Java转换成PHP数组吗?我想我不能那么容易地把它发送到服务器上,我是android/Java的初学者:)你能发布用于向服务器发送数据的Java代码吗?好的,我编辑了这个问题,试着在
json\u decode
上使用$\u GET['geocoder']
。看看它是否有效。