朋友!我有一个json文件,一个.js文件和一些html。
我可以很好地从js文件中的json文件中读取数据,并将其输出到控制台。
所以我有一个包含所有50个状态的下拉列表,这些值是状态的缩写。每个州有6个不同的值,例如:
public interface UserClient {
// @FormUrlEncoded
// @Headers({ "Content-Type: application/json"})
@POST("todos")
Call<User>createAccount(
@Field("id") String id,
@Field("name") String name
);
我可以这样处理数据:data.AK.II,这很好。
我在实现此目标时遇到问题:数据。(所选选项的值)。II
OkHttpClient okHttpClient = new OkHttpClient().newBuilder().addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException {
Request originalRequest = chain.request();
Request.Builder builder = originalRequest.newBuilder().header("Authorization", "Bearer xxxxxxxxxx"
);
Request newRequest = builder.build();
return chain.proceed(newRequest);
}
}).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://192.168.xx.x:xxxx/")
.client(okHttpClient)
.build();
UserClient client = retrofit.create(UserClient.class);
// var k1 = "100000";
Call<User> call = client.createAccount("777377","ddddddd");
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
Toast.makeText(MainActivity.this,"Success",Toast.LENGTH_SHORT).show();
Log.d("RESPONSE",response.toString());
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Toast.makeText(MainActivity.this,"Not Success",Toast.LENGTH_SHORT).show();
}
});
}
这是我遇到的错误,因此'thisValue'遇到未定义的情况。
未捕获的TypeError:无法读取未定义的属性“ I”
我应该以某种方式进行转换吗?我想我已经盯着这个太久了。
答案 0 :(得分:1)
使用方括号表示法:
/[\\/]node_modules[\\/]react[\\/]/
答案 1 :(得分:1)
将data.thisValue.II
更改为data[thisValue].II
,它将起作用。
- 当键名中有空格时,例如,基本使用括号表示法。
如果直接尝试访问对象中的值,请使用"full name"
等- 表示法。如果
d = {k: 1}
,那么d.k
和d[k]
都可以。d = {"k v": 1}
,那么只有d["k v"]
将起作用。
> data = {
... "AK": {
..... "I": 0,
..... "II": 0,
..... "III": 0,
..... "IV": 0,
..... "V": 0,
..... "VI": 0
..... }
... }
{ AK: { I: 0, II: 0, III: 0, IV: 0, V: 0, VI: 0 } }
>
> thisValue = "AK"
'AK'
>
> data[thisValue].I
0
> data[thisValue].II
0
>
以下内容将引发异常(错误)。
> data.thisValue.II
Thrown:
TypeError: Cannot read property 'II' of undefined
>