[
{
"orderDetails": [
{
"account_name": "akhil_kotak",
}
]
}
]
如何从这个json获取帐户名称,我试着这样做
String response = new String(responseBody);
//ON SUCCESS GETS JSON Object
JSONArray array = new JSONArray(response);
JSONObject obj =
array.getJSONObject(0).getJSONArray("orderDetails").getJSONObject(0);
txt_accountName.setText(obj.getString("account_name"));
如果有人可以提供帮助,那就太棒了。
由于
答案 0 :(得分:0)
您的JSON
无效。
您可以更改为此。
[
{
"orderDetails": [
{
"account_name": "akhil_kotak"
}
]
}
]
只需将"account_name": "akhil_kotak" ,
更改为"account_name": "akhil_kotak"
。
只需删除JSON
。
试试这个。
try {
JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
JSONArray orderDetails = jsonObject.getJSONArray("orderDetails");
for (int j = 0; j < orderDetails.length(); j++) {
JSONObject jsonObject2 = orderDetails.getJSONObject(j);
String account_name = jsonObject2.getString("account_name");
txt_accountName.setText(account_name);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
试试这个。我正在使用 org.json.simple 库。
String str="[{\"orderDetails\": [{\"account_name\": \"akhil_kotak\",}]}]";
JSONParser parser=new JSONParser();
JSONArray array=(JSONArray) parser.parse(str);
JSONObject obj=(JSONObject) array.get(0);
JSONArray nestedArray=(JSONArray) obj.get("orderDetails");
System.out.println("output: "+nestedArray.get(0).get("account_name"));
它工作正常。
答案 2 :(得分:0)
您的JSON无效。 删除逗号!然后:
创建一组calsses并使用Gson!
将此行添加到build.gradle中的依赖项:
//Home component.ts
import { Events } from 'ionic-angular';
constructor(public events: Events) {
directioChange(user) {
this.events.publish('directiochanged', 'true');
}
}
//AngularTreeComponent
constructor(public events: Events) {
events.subscribe('directiochanged', (direction) => {
//Do your Tree view display Action in this receiver
});
}
创建一组类:
dependencies {
compile 'com.google.code.gson:gson:2.8.2' //add this line
}
并像这样使用它们:
class SomeListItem {
@SerializedName("orderDetails")
public List<InnerListItem> mOrderDetails;
}
class InnerListItem {
@SerializedName("account_name")
public String mAccountName;
}
答案 3 :(得分:0)
如果您使用的是Jackson 2 ..以下作品
String jsonString =&#34; [{\&#34; orderDetails \&#34;:[{\&#34; account_name \&#34;:\&#34; akhil_kotak \&#34;, }]}]&#34 ;;
const One = new Schema({
name: String
})
const Two = new Schema({
code: String,
name: {
type: Schema.ObjectId,
ref: 'One'
}
})
const Three = new Schema({
phone: number
code: [{
type: Schema.ObjectId,
ref: 'Two'
}]
})
Three.find((err, three) => {
if (err) console.log(err)
console.log(three)
// => {
// phone : "the phone number from schema Three",
// code: {
// code: "the code from schema Two",
// name: "the name from schema One"
// }
// }
})
.populate('code.name')